export type WebSocketEvent = {
    event: 'refresh-ui';
    data: {
        sessionId?: string;
    };
} | {
    event: 'plan-ready';
    data: {
        sessionId: string;
        sessionInputId: string;
    };
} | {
    event: 'system-prompt-update';
    data: {
        systemPrompt: string;
    };
} | {
    event: 'session-created';
    data: {
        sessionId: string;
    };
} | {
    event: 'llm-stream-chunk';
    data: {
        sessionInputId: string;
        chunk: string;
        isFirst: boolean;
    };
} | {
    event: 'llm-thought-chunk';
    data: {
        sessionInputId: string;
        chunk: string;
        isFirst: boolean;
    };
} | {
    event: 'llm-generation-started';
    data: {
        sessionInputId: string;
        sessionId: string;
        isStreaming: boolean;
    };
} | {
    event: 'llm-generation-in-progress';
    data: {
        sessionInputId: string;
    };
} | {
    event: 'llm-generation-ended';
    data: {
        sessionInputId: string;
        sessionId: string;
        error?: string;
    };
} | {
    event: 'llm-retry-attempt';
    data: {
        sessionInputId: string;
        sessionId: string;
        attempt: number;
        maxAttempts: number;
    };
};
export type WebSocketEventName = WebSocketEvent['event'];
export declare function isWebSocketEvent(obj: unknown): obj is WebSocketEvent;
