/**
 * Daemon State Persistence
 *
 * Persists the dispatch daemon's running state across server restarts.
 * This allows the daemon to remember whether it was intentionally stopped
 * by the user, so it doesn't auto-restart during dev mode hot reloads.
 */
interface DaemonConfigOverrides {
    directorInboxForwardingEnabled?: boolean;
}
interface DaemonState {
    /** Whether the daemon should be running */
    shouldRun: boolean;
    /** When the state was last updated */
    updatedAt: string;
    /** Who/what updated the state */
    updatedBy: 'user' | 'server-startup' | 'server-shutdown';
    /** Persisted config overrides (survives server restarts) */
    configOverrides?: DaemonConfigOverrides;
}
/**
 * Get the persisted daemon state.
 * Returns undefined if no state file exists (first run).
 */
export declare function getDaemonState(): DaemonState | undefined;
/**
 * Save the daemon state.
 */
export declare function saveDaemonState(shouldRun: boolean, updatedBy: DaemonState['updatedBy']): void;
/**
 * Check if the daemon should auto-start based on persisted state.
 *
 * Returns true if:
 * - No state file exists (first run, default to starting)
 * - State file indicates shouldRun is true
 *
 * Returns false if:
 * - State file indicates shouldRun is false (user intentionally stopped it)
 */
export declare function shouldDaemonAutoStart(): boolean;
/**
 * Get persisted daemon config overrides.
 */
export declare function getDaemonConfigOverrides(): DaemonConfigOverrides;
/**
 * Save daemon config overrides (merges into existing state).
 */
export declare function saveDaemonConfigOverrides(overrides: DaemonConfigOverrides): void;
export {};
//# sourceMappingURL=daemon-state.d.ts.map