export type CommandChannelStatus = 'idle' | 'connecting' | 'connected' | 'reconnecting' | 'failed';
export type CommandChannelState = {
    status: CommandChannelStatus;
    attemptCount: number;
    connectedAt: number | null;
    disconnectedAt: number | null;
    lastDisconnectReason: string | null;
    shouldShowRejoinAlert: boolean;
};
export type CommandChannelControllerResult = {
    state: CommandChannelState;
    isConnected: () => boolean;
    waitForConnected: (timeoutMs?: number) => Promise<void>;
    reportCommandChannelDegraded: (reason: string) => void;
    resetController: () => void;
};
export declare const COMMAND_CHANNEL_INITIAL_STATE: CommandChannelState;
export declare class CommandChannelWaitCancelledError extends Error {
    constructor();
}
export declare const useCommandChannelController: () => CommandChannelControllerResult;
