import { ChatFilter, FilterConnection, GetChatsParams } from '../api/type';
import { ChannelType, ChatGroup, ChatUser, SenderType, TChatItem, TEventChatSocket, TTagOrStatusItem } from './type';
export declare function handleGetChats(params: GetChatsParams): Promise<void>;
export declare function processGetChat(chat: TChatItem, from?: string): Promise<TChatItem>;
export declare function handleGetChatByUserId(userId: string): Promise<TChatItem>;
export declare function handleGetChat(sessionId: string, from?: string): Promise<TChatItem>;
export declare function handleGetChatWithFilter(sessionId: string): Promise<TChatItem>;
export declare function handleChatSocket(chatEvent: TEventChatSocket): Promise<void>;
export declare function handleGetUserStatuses(params?: {
    search?: string;
    limit?: number;
    offset?: number;
}): Promise<TTagOrStatusItem[] | import("../api/type").GetUserStatusesResponse>;
export declare function handleGetUserTags(params?: {
    search?: string;
    limit?: number;
    offset?: number;
}): Promise<any[] | import("../api/type").GetUserTagsResponse>;
export declare function handleGetChatFilters(): Promise<ChatFilter[]>;
export declare function handleCreateChatFilter(params: {
    name: string;
    search?: string;
    read?: boolean;
    type?: 'user' | 'group';
    connections?: FilterConnection[];
    last_answer_by_ids?: string[];
    status_ids?: string[];
    tag_ids?: string[];
    total_completed_verify_slip?: number;
    total_completed_verify_slip_more_than?: number;
}): Promise<ChatFilter>;
export declare function handleUpdateChatFilter(params: {
    id: string;
    name?: string;
    search?: string;
    read?: boolean;
    type?: 'user' | 'group';
    connections?: FilterConnection[];
    last_answer_by_ids?: string[];
    status_ids?: string[];
    tag_ids?: string[];
    total_completed_verify_slip?: number;
    total_completed_verify_slip_more_than?: number;
}): Promise<ChatFilter>;
export declare function handleDeleteChatFilter(id: string): Promise<ChatFilter[]>;
export declare function handleSelectChatFilter(filter: ChatFilter | null): void;
export declare function isUnread(chat: TChatItem): boolean;
export declare function getChatName(chatInfo?: {
    user?: ChatUser;
    group?: ChatGroup;
    type: SenderType;
}): string;
export declare function getChatUserInfo(chatInfo?: {
    user?: ChatUser;
    group?: ChatGroup;
    type: SenderType;
    field?: string;
}): any;
export declare function getChatPicture(chatInfo?: {
    user?: ChatUser;
    group?: ChatGroup;
    type: SenderType;
}): string;
export declare function getChatChannelPictureUrl(chatInfo?: {
    channel: ChannelType;
    type: SenderType;
}): string;
export declare function haveConnectionFromZwiz(): boolean;
export declare function haveConnectionFromZwizSME(): boolean;
export declare function haveConnectionFromZwizEnterprise(): boolean;
export declare function resetChatFilter(): void;
export declare function handleGetChatFilterConfig(): Promise<import("../api/type").GetChatFilterConfigResponse>;
export declare function updateChatFilterConfig(chats: TChatItem[]): void;
export declare function formatFilterConnection(connectionIds: string[]): {
    id: string;
    channel: ChannelType[];
}[];
