import type { ProposalRoots } from './proposal-fs.js';
export interface SkillProposalScanState {
    lastScanAt?: string;
}
/** Return the on-disk path of the scan-state JSON file. */
export declare function scanStatePath(roots: ProposalRoots): string;
/** Load the persisted scan state, returning an empty record if the file is missing or corrupt. */
export declare function readSkillProposalScanState(roots: ProposalRoots): SkillProposalScanState;
/** Atomically persist the latest scan state JSON to disk. */
export declare function writeSkillProposalScanState(roots: ProposalRoots, state: SkillProposalScanState): void;
/** True if no prior scan exists or the daily cooldown has elapsed since the last scan. */
export declare function shouldRunDailySkillProposalScan(state: SkillProposalScanState, now?: Date): boolean;
//# sourceMappingURL=scan-state.d.ts.map