import type { ProfileId } from '../profiles/index.js';
export type DocSource = {
    slug: string;
    label: string;
    maxPages?: number;
};
export declare const PROFILE_DOC_SOURCES: Partial<Record<ProfileId, DocSource[]>>;
export type SyncResult = {
    profile: ProfileId;
    synced: number;
    failed: number;
    files: string[];
    errors: string[];
};
export declare function syncProfileDocs(cwd: string, profile: ProfileId, options?: {
    force?: boolean;
    maxPagesPerSource?: number;
}): Promise<SyncResult>;
export declare function listSyncableProfiles(): ProfileId[];
export declare function getSyncStatus(cwd: string): Record<string, {
    syncedAt: string;
    pages: number;
}>;
export type DocIndexEntry = {
    heading: string;
    level: number;
    line: number;
    endLine: number;
};
export type DocIndex = {
    file: string;
    title: string;
    totalLines: number;
    sections: DocIndexEntry[];
};
export declare function generateDocIndex(filePath: string): DocIndex | null;
export declare function renderDocIndexAsMarkdown(index: DocIndex): string;
export declare function generateAndWriteIndex(filePath: string): string | null;
