import { Todo } from "../loop/todo-enforcer.js";
export interface MissionState {
    missionId: string;
    status: 'planning' | 'executing' | 'reviewing' | 'completed' | 'failed';
    progress: {
        totalTasks: number;
        completedTasks: number;
        percentage: number;
    };
    activeAgents: {
        id: string;
        type: string;
        status: string;
        currentTask?: string;
    }[];
    todo: Todo[];
    lastUpdated: Date;
}
export declare class StateBroadcaster {
    private static _instance;
    private listeners;
    private currentState;
    private constructor();
    static getInstance(): StateBroadcaster;
    subscribe(listener: (state: MissionState) => void): () => boolean;
    broadcast(state: MissionState): void;
    getCurrentState(): MissionState | null;
}
export declare const stateBroadcaster: StateBroadcaster;
