import type { RagStore } from '../ragStore';
import type { CodebaseRegistry, CodebaseRef } from '../codebase/codebaseRegistry';
import { PathSecurityGate, type PathPreviewResult } from '../codebase/pathSecurityGate';
export interface KernelSourceIngestOptions {
    maxChunkChars?: number;
    pathPrefix?: string;
}
export interface KernelSourceIngestError {
    filePath: string;
    reason: string;
}
export interface KernelSourceIngestResult {
    codebaseId: string;
    filesProcessed: number;
    chunksAdded: number;
    chunksSkipped: number;
    blockedFileCount: number;
    redactionHitCount: number;
    errors: KernelSourceIngestError[];
}
declare function spdxLicense(content: string): string | undefined;
declare function filterPreviewFiles(preview: PathPreviewResult, ref: CodebaseRef, opts: KernelSourceIngestOptions): import("../codebase/pathSecurityGate").PathPreviewFile[];
export declare class KernelSourceIngester {
    private readonly store;
    private readonly registry;
    private readonly gate;
    constructor(store: RagStore, registry: CodebaseRegistry, gate?: PathSecurityGate);
    ingest(codebaseId: string, opts?: KernelSourceIngestOptions): Promise<KernelSourceIngestResult>;
}
export declare const __TEST_ONLY__: {
    spdxLicense: typeof spdxLicense;
    filterPreviewFiles: typeof filterPreviewFiles;
};
export {};
//# sourceMappingURL=kernelSourceIngester.d.ts.map