import type { PluginContext } from "../../../plugin/types";
import type { Database } from "../../../shared/sqlite";
import { type Memory } from "../memory";
export interface ClassifyArgs {
    db: Database;
    client: PluginContext["client"];
    projectIdentity: string;
    parentSessionId: string | undefined;
    sessionDirectory: string;
    holderId: string;
    leaseKey: string;
    deadline: number;
    model?: string;
    fallbackModels?: readonly string[];
}
export interface ClassifyResult {
    classified: number;
    changed: number;
    chunks: number;
    stage: 1 | 2 | 3;
}
export declare function runClassify(args: ClassifyArgs): Promise<ClassifyResult>;
/** Apply the manifest host-side: the manifest must cover exactly this chunk;
 *  shareable fails closed against sensitive text. setMemoryClassification stamps
 *  classified_at (the run-gate) and is cache-neutral. */
export declare function applyClassifications(args: ClassifyArgs, chunk: Memory[], manifestText: string): {
    classified: number;
    changed: number;
};
//# sourceMappingURL=classify.d.ts.map