import { CallWithChatAdapter } from './CallWithChatAdapter';
import { ChatAdapter, ChatAdapterState } from '../../ChatComposite';
import { ResourceDetails } from '../../ChatComposite';
import { ErrorBarStrings } from "../../../../../react-components/src";
/**
 * Facade around the CallWithChatAdapter to satisfy the chat adapter interface.
 *
 * @private
 */
export declare class CallWithChatBackedChatAdapter implements ChatAdapter {
    private callWithChatAdapter;
    private eventStore;
    constructor(callWithChatAdapter: CallWithChatAdapter);
    fetchInitialData: () => Promise<void>;
    sendMessageHandler: (this: CallWithChatBackedChatAdapter, content: string) => Promise<void>;
    sendMessage: (content: string) => Promise<void>;
    sendReadReceipt: (chatMessageId: string) => Promise<void>;
    sendTypingIndicator: () => Promise<void>;
    removeParticipant: (userId: string) => Promise<void>;
    loadPreviousChatMessages: (messagesToLoad: number) => Promise<boolean>;
    dispose: () => void;
    onStateChange: (handler: (state: ChatAdapterState) => void) => void;
    offStateChange: (handler: (state: ChatAdapterState) => void) => void;
    getState: () => ChatAdapterState;
    on: (event: any, listener: any) => void;
    off: (event: any, listener: any) => void;
    updateMessageHandler: (this: CallWithChatBackedChatAdapter, messageId: string, content: string, options?: Record<string, string>) => Promise<void>;
    updateMessage: (messageId: string, content: string, options?: Record<string, string> | undefined) => Promise<void>;
    deleteMessage: (messageId: string) => Promise<void>;
    clearErrors: (errorTypes: (keyof ErrorBarStrings)[]) => void;
    setTopic: (topicName: string) => Promise<void>;
    downloadResourceToCache(resourceDetails: ResourceDetails): Promise<void>;
    removeResourceFromCache(resourceDetails: ResourceDetails): void;
}
//# sourceMappingURL=CallWithChatBackedChatAdapter.d.ts.map