import type { ContextConfidence } from "@shrey-junior/sj-core/core/context-selector.js";
import type { ContextTraceState, IndexingState } from "@shrey-junior/sj-core/core/context-trace.js";
import type { SkillRegistryState } from "@shrey-junior/sj-core/core/skills-registry.js";
import type { MeasuredUsageState } from "@shrey-junior/sj-core/core/token-intelligence.js";
import type { TokenBreakdownState } from "@shrey-junior/sj-core/core/token-estimator.js";
import type { Logger } from "@shrey-junior/sj-core/core/logger.js";
export interface PrepareOptions {
    repoRoot: string;
    targetRoot: string;
    task: string;
    expand?: boolean;
    json?: boolean;
    logger: Logger;
}
export interface PrepareResult {
    task: string;
    confidence: ContextConfidence;
    filesSelected: number;
    filesExcluded: number;
    selectedTokens: number;
    fullRepoTokens: number;
    savingsPercent: number;
    estimationMethod: string;
    estimateNote: string;
    topDirectories: Array<{
        directory: string;
        tokens: number;
        fileCount: number;
    }>;
    instructionPath: string;
    reason: string;
    constraintCount: number;
    validationStepCount: number;
    stopConditionCount: number;
    contextTrace: ContextTraceState;
    indexing: IndexingState;
    tokenBreakdown: TokenBreakdownState;
    measuredUsage: MeasuredUsageState;
    skills: Pick<SkillRegistryState, "activeSkills" | "suggestedSkills">;
}
export declare function runPrepare(options: PrepareOptions): Promise<number>;
//# sourceMappingURL=prepare.d.ts.map