export type MagmaWSMessage = {
    type: string;
    data: unknown;
};
export type ChatProviderProps = {
    agentId: string;
    apiKey: string;
    baseUrl?: string;
    searchParams?: Record<string, string>;
    initialMessages?: MagmaWSMessage[];
    onOpen?: (ev: Event, ws: WebSocket) => void;
    onError?: (error: Event, ws: WebSocket) => void;
    onClose?: (ev: CloseEvent, ws: WebSocket) => void;
    onMagmaWSMessage?: (message: MagmaWSMessage) => void;
    storedTypes?: string[];
    children: any;
};
export type ChatContext = {
    sendMessage: (message: string, queued?: boolean) => void;
    messages: MagmaWSMessage[];
    awaitingResponse: boolean;
};
export declare function getChatContext(): ChatContext;
export declare function setChatContext(context: ChatContext): void;
