import Signal from "badmfck-signal"; export declare const BLUEGREEN_FILE = ".bluegreen.json"; export type TSlot = "blue" | "green"; export interface IBlueGreenState { live: boolean | null; bluegreen: boolean; project: string | null; slot: TSlot | null; active: TSlot | null; isActive: boolean | null; lastDeployed: TSlot | null; readyToSwitch: boolean | null; checkedAt: number; cached: boolean; stale?: boolean; error?: string; } export declare const S_BLUEGREEN_STATE_CHANGED: Signal<{ current: IBlueGreenState; previous: IBlueGreenState | null; }>; export interface IBlueGreenStateOptions { force?: boolean; ttlMs?: number; timeoutMs?: number; } export declare function onLiveChange(cb: (live: boolean, state: IBlueGreenState) => void): () => void; export declare function getBlueGreenStateSync(): IBlueGreenState | null; export declare function startBlueGreenWatcher(intervalMs?: number): void; export declare function stopBlueGreenWatcher(): void; export declare function getBlueGreenActiveState(opts?: IBlueGreenStateOptions): Promise;