/**
 * Композабл для фильтрации списка чатов.
 * Инкапсулирует логику фильтрации по табам, тегам и текстовому поиску.
 * Примечание: сортировка чатов выполняется в родительском компоненте.
 */
/**
 * Тип элемента чата.
 */
type ChatItem = {
    chatId: string;
    name: string;
    metadata: string;
    countUnread: number;
    'lastActivity.timestamp'?: string | number;
    contact?: {
        tags?: Array<{
            tagId: string;
        }>;
    };
    [key: string]: unknown;
};
/**
 * Параметры компонента для фильтрации.
 */
type ChatListFilterProps = {
    chats: ChatItem[];
    filterEnabled: boolean;
    filterQuery?: string | null;
    dialogTabs?: unknown[];
    activeTabId?: string;
    searchQuery?: string;
    isSearching?: boolean;
    searchProgress?: string;
    searchStats?: {
        loaded: number;
        total: number | string;
    };
};
/**
 * Тип эмиттера событий для фильтрации.
 */
type ChatListFilterEmit = {
    (event: 'search', value: string): void;
    (event: 'clear-search'): void;
};
/**
 * Параметры и зависимости композабла.
 */
interface UseChatListFilterOptions {
    props: ChatListFilterProps;
    emit: ChatListFilterEmit;
}
export declare function useChatListFilter({ props, emit }: UseChatListFilterOptions): {
    filter: import("vue").Ref<string, string>;
    getSortedAndFilteredChats: () => ChatItem[];
    getFilter: (value: string) => void;
};
export {};
