import type { OccasionsPolicy } from './sweep.js'; /** The narrow config surface this feature reads and writes. */ export interface OccasionsConfigAccess { get(key: string): unknown; set(key: string, value: string | boolean | number): void; } /** Defaults, matching the schema domain exactly. Restated so a narrow embed * with no config still behaves as the settings describe rather than as zero. */ export declare const OCCASIONS_DEFAULTS: { readonly enabled: true; readonly leadDays: 10; readonly activeHours: "08:00-22:00"; readonly nudgeChannel: "telegram"; readonly cadenceDays: 3; readonly awayAdjust: true; readonly calendarMirror: false; readonly suppressMirroredNudges: true; readonly interviewQuestions: 3; readonly giftHistoryYears: 10; readonly sweepIntervalMinutes: 60; }; /** The whole policy, read fresh. */ export declare function readOccasionsPolicy(config: OccasionsConfigAccess): OccasionsPolicy; /** * The zone the owner's days and hours are reckoned in. * * `daemon.timezone` and nothing else. There is deliberately no * `occasions.timezone`: the daemon-location setting exists precisely so the * next feature needing a calendar day does not add a second one, and two zone * settings that disagree is a defect nobody would find until a nudge arrived at * 3am. */ export declare function readOccasionsTimezone(config: OccasionsConfigAccess): string; //# sourceMappingURL=policy.d.ts.map