export interface PruneOptions {
    /** Salience ceiling (inclusive). Memories with salience <= this are candidates. 0..1, default 0.2. */
    salienceLte?: number;
    /** Minimum age in days. Memories older than this are candidates. 1..365, default 30. */
    ageDaysGte?: number;
    /** Optional project scope. Omit for all projects. */
    project?: string;
    /** When true (default) pinned memories are never pruned. */
    excludePinned?: boolean;
    /** When true (default) only count + sample, no deletes. */
    dryRun?: boolean;
}
export interface PruneSampleEntry {
    id: number;
    title: string;
    project: string | null;
    salience: number;
    ageDays: number;
}
export interface PruneResult {
    options: Required<Omit<PruneOptions, 'project'>> & {
        project: string | null;
    };
    matched: number;
    sample: PruneSampleEntry[];
    deleted?: number;
    backupPath?: string;
}
/**
 * Find + optionally delete memories below a salience threshold older than N
 * days. Always backs up the live DB before any delete; the backup path is
 * returned in the result so the caller can surface it to the user.
 */
export declare function pruneMemories(rawOptions?: PruneOptions): Promise<PruneResult>;
