import { CustomComponentProps, VChatCloudAppProps } from '../global.types';
import { Channel, User } from '../sdk';
import { ReactNode } from 'react';

export declare const VChatCloudStoreContext: import('react').Context<import('zustand').UseBoundStore<import('zustand').StoreApi<{
    instance?: import('../sdk').VChatCloud;
    email?: string;
    channel?: Channel;
    chattingLog: import('../global.types').ExtendedMessage[];
    fileList: import('../global.types').VChatCloudAPIFile[];
    translateClientKeyMap: Record<string, string>;
    sessionType: import('../global.types').SessionType;
    privateRoom: import('../global.types').PrivateRoomData;
} & {
    joinRoom: (instance: import('../sdk').VChatCloud, user: Partial<User> & Pick<User, "clientKey" | "nickName" | "roomId">) => Promise<Channel>;
    setInstance: (instance: import('../sdk').VChatCloud) => void;
    setEmail: (email?: string) => void;
    setChannel: (channel: Channel) => void;
    setChattingLog: (chattingLog: import('../global.types').ExtendedMessage[]) => void;
    addChattingLog: (message: import('../global.types').ExtendedMessage) => void;
    removeChattingLog: (uuid: string) => void;
    updateChattingData: (message: import('../global.types').ExtendedMessage) => void;
    setTranslateUser: (data: {
        clientKey: string;
        language: string | undefined;
    }) => void;
    setSessionType: (sessionType: import('../global.types').SessionType) => void;
    setPrivateRoom: (data: import('../global.types').PrivateRoomData) => void;
    cleanUp: () => void;
}>> | null>;
declare const VChatCloudProvider: ({ url, email, clientKey, nickName, roomId, grade, userInfo, sessionType, privateContainer, logoUrl, company, children, }: {
    readonly children?: ReactNode;
} & VChatCloudAppProps & CustomComponentProps) => import("react/jsx-runtime").JSX.Element;
export default VChatCloudProvider;
