import type { ExtractedLesson, SearchResult, TotemConfig } from '@mmnto/totem';
import { LanceStore } from '@mmnto/totem';
export declare const TAG = "Extract";
export declare function retrieveExistingLessons(store: LanceStore): Promise<SearchResult[]>;
export declare function parseLessons(llmOutput: string): ExtractedLesson[];
export declare function appendLessons(lessons: ExtractedLesson[], lessonsDir: string): void;
/**
 * Prompts the user to select which lessons to keep via multi-select.
 * In --yes mode, suspicious lessons are blocked (dropped with warnings).
 * Returns the selected lessons.
 * Throws in non-interactive environments without --yes.
 */
export declare function selectLessons(lessons: ExtractedLesson[], opts: {
    yes?: boolean;
    isTTY?: boolean;
}): Promise<ExtractedLesson[]>;
export interface ExtractOptions {
    raw?: boolean;
    out?: string;
    model?: string;
    fresh?: boolean;
    dryRun?: boolean;
    yes?: boolean;
    fromScan?: boolean;
    local?: boolean;
}
export declare function assembleExtractPrompt(systemPrompt: string, contentSections: string[], existingLessons: SearchResult[]): string;
export declare function sharedPipeline(allLessons: ExtractedLesson[], options: ExtractOptions, cwd: string, sourceLabel: string, existingConfig?: TotemConfig, existingConfigPath?: string): Promise<void>;
//# sourceMappingURL=extract-shared.d.ts.map