import { RuntimeState, Settings } from './useRuntimeState';
import { default as React } from 'react';

export declare const RuntimeStateAPIContext: React.Context<{
    launch: () => Promise<void>;
    reply: (message: string) => Promise<void>;
    open: () => Promise<void>;
    interact: import('../../types').SendMessage;
    close: () => void;
    stopChat: () => void;
    addTurn: (turn: import('../../types').TurnProps) => void;
    feedback: (name: import('./useRuntimeAPI').FeedbackName, lastTurnMessages: import('../../components/SystemResponse').MessageProps[], userTurn: import('../../types').UserTurnProps | null) => Promise<void>;
    setStatus: (status: import('../../types').SessionStatus) => void;
    setOpen: React.Dispatch<React.SetStateAction<boolean>>;
    isStatus: (status: import('../../types').SessionStatus) => boolean;
    reset: () => void;
    getTurns: () => import('../../types').TurnProps[];
    setIndicator: React.Dispatch<React.SetStateAction<boolean>>;
    setAudioOutput: React.Dispatch<React.SetStateAction<boolean>>;
    toggleAudioOutput: () => void;
    assistant: import('../../types').ChatWidgetSettings;
    config: import('../../main').ChatConfig;
}>;
export declare const RuntimeStateContext: React.Context<{
    session: Required<import('../../types').SessionOptions>;
    isOpen: boolean;
    indicator: boolean;
    audioOutput: boolean;
}>;
interface RuntimeProviderProps extends React.PropsWithChildren, Settings {
    extend?: (runtime: RuntimeState['api']) => RuntimeState['api'];
}
export declare const RuntimeProvider: ({ children, extend, ...settings }: RuntimeProviderProps) => import("react/jsx-runtime").JSX.Element;
export {};
//# sourceMappingURL=index.d.ts.map