import type { WatchJob, WatchJobStatus } from '../types.js';
export interface CreateJobInput {
    url: string;
    intervalSeconds: number;
    selector?: string;
    notification: string;
}
export declare function createJob(input: CreateJobInput): WatchJob;
export declare function listJobs(): WatchJob[];
export declare function getJob(id: string): WatchJob | null;
export declare function deleteJob(id: string): boolean;
export declare function setJobStatus(id: string, status: WatchJobStatus): WatchJob | null;
export interface CheckResult {
    job: WatchJob;
    changed: boolean;
    previousHash?: string;
    currentHash: string;
    diffSummary?: string;
}
export declare function recordCheck(id: string, checkedAt: number, contentHash: string): WatchJob | null;
/**
 * Jobs whose next check is due. A job is due when:
 *   - status is 'active'
 *   - last_check_at + interval_seconds*1000 <= now, OR
 *   - last_check_at is NULL and created_at + interval_seconds*1000 <= now.
 *
 * Used by the lazy fire-and-forget scheduler hook. Returning all overdue
 * jobs lets the caller decide how aggressively to fan out.
 */
export declare function getOverdueJobs(now?: number): WatchJob[];
/**
 * Test-only helper — generates a stable but caller-distinguishable id
 * when a code path needs a job id outside the idempotent-create flow.
 * Production code uses `createJob()` which derives the id deterministically.
 */
export declare function _generateAdHocId(): string;
//# sourceMappingURL=store.d.ts.map