import type Talk from 'talkjs';
import type { ReactNode } from 'react';
import React from 'react';
import type { _ConversationBuilder as ConversationBuilder } from './ConversationBuilder';
import { BLUR_EVENT, FOCUS_EVENT, SELECT_CONVERSATION_EVENT } from './constants';
export interface SelectConversationEvent {
    me: Talk.UserSnapshot;
    others: Array<Talk.UserSnapshot>;
    conversation: Talk.ConversationData;
}
interface ConversationListProp {
    disableZoom?: boolean;
    loadingComponent?: ReactNode;
    feedFilter?: Talk.ConversationPredicate;
    showFeedHeader?: boolean;
    presence?: Talk.UserPresence;
    theme?: string | Talk.ThemeOptions;
    hideKeyboardAccessoryView?: boolean;
    customEmojis?: {
        [name: string]: Talk.CustomEmojiDefinition;
    };
    translateConversations?: boolean | 'auto' | string[] | ConversationBuilder[];
    onSelectConversation?: (event: SelectConversationEvent) => void;
    /** @deprecated since version 0.3.0 */
    thirdparties?: Talk.ThirdPartyOptions;
    /** @deprecated since version 0.3.0 */
    onBlur?: (event: Talk.BlurEvent) => void;
    /** @deprecated since version 0.3.0 */
    onFocus?: (event: Talk.FocusEvent) => void;
    /** @deprecated since version 0.3.0 */
    feedConversationTitleMode?: 'participants' | 'subject' | 'auto';
}
type ConversationListEvent = typeof SELECT_CONVERSATION_EVENT | typeof BLUR_EVENT | typeof FOCUS_EVENT;
export interface ConversationListRef {
    setTranslationEnabledDefault: (enabled: boolean | 'auto') => void;
    /** @deprecated since version 0.7.0 */
    off: (event: ConversationListEvent) => void;
}
declare const forwardedConversationList: React.ForwardRefExoticComponent<ConversationListProp & React.RefAttributes<ConversationListRef>>;
export { forwardedConversationList as ConversationList };
//# sourceMappingURL=ConversationList.d.ts.map