export interface NudgeState { schemaVersion: number; searchesSinceAsk: number; lastAskAt: string | null; explicitDeclineCount: number; disabled: boolean; } export declare const NUDGE_STATE_SCHEMA_VERSION = 1; export declare const AUTO_QUIET_DECLINE_THRESHOLD = 3; export declare const NUDGE_CADENCE_DAYS = 7; export declare const MS_PER_DAY: number; export type OfferState = "not-yet-asked" | "asked" | "declined" | "enabled"; export declare function coherentInitRow(): NudgeState; export declare function deriveOfferState(state: NudgeState, modelPresent: boolean): OfferState; export type NudgeIneligibleReason = "model-present" | "disabled" | "auto-quiet" | "cadence"; export declare function classifyEligibility(state: NudgeState, modelPresent: boolean, now: Date): { eligible: boolean; reason: NudgeIneligibleReason | null; }; export declare function isEligible(args: { state: NudgeState; modelPresent: boolean; now: Date; }): boolean; export declare function recordSearch(state: NudgeState): NudgeState; export declare function recordAsked(state: NudgeState, now: Date): NudgeState; export declare function recordDecline(state: NudgeState): NudgeState; export declare function recordNever(state: NudgeState): NudgeState; //# sourceMappingURL=nudge-state.d.ts.map