import React from 'react'; import type { ResumableSession } from './components/SessionPicker.js'; import type { WsState } from './ws-client.js'; import type { TuiFrame, HandshakeAck } from '../platform/tui/protocol.js'; export interface AppProps { sendFrame: (frame: TuiFrame) => void; connectionState: WsState; ack: HandshakeAck | null; onReconnect: () => void; onDisconnect: () => void; onSendCancel: () => void; serverVersion: string | null; projectId: string | null; sessionName: string | null; /** Fatal/connection error surfaced from the entry layer (e.g. backoff cap exceeded). */ errorMessage?: string | null; /** * Called when this App component is ready to receive frames for dispatch. * The parent (index.tsx) calls this function for each WS frame. */ onSetDispatch?: (dispatch: (frame: TuiFrame) => void) => void; resumableSessions?: ResumableSession[] | null; resumePending?: boolean; onResumeSelect?: (sessionId: string, projectId: string) => void; onResumeCancel?: () => void; } export declare function App({ sendFrame, connectionState, ack, onReconnect, onDisconnect, onSendCancel, serverVersion, projectId, sessionName, errorMessage, onSetDispatch, resumableSessions, resumePending, onResumeSelect, onResumeCancel, }: AppProps): React.JSX.Element;