import { AddressBookEntry, ILogger, FetchPaginatedList, TransformPaginatedData } from '@webex/cc-store';
import { CategoryType, UseConsultTransferParams } from '../../task.types';
/**
 * React hook to load, transform and manage paginated data with optional search.
 *
 * @template T - The item type returned by the provided `fetchFunction` (raw API/entity).
 * @template U - The transformed item type stored internally and returned to consumers.
 * @param fetchFunction - Fetcher that returns a paginated list of items of type T.
 * @param transformFunction - Mapper that converts each T into U for UI consumption.
 * @param categoryName - Human-readable name used for logging/telemetry.
 * @param logger - Optional logger instance for diagnostics.
 * @returns An object containing the transformed data (U[]), pagination state and helpers.
 */
export declare const usePaginatedData: <T, U>(fetchFunction: FetchPaginatedList<T> | undefined, transformFunction: TransformPaginatedData<T, U>, categoryName: string, logger?: ILogger) => {
    data: U[];
    page: number;
    hasMore: boolean;
    loading: boolean;
    loadData: (currentPage?: any, search?: any, reset?: any) => Promise<void>;
    reset: () => void;
};
export declare function useConsultTransferPopover({ showDialNumberTab, showEntryPointTab, getAddressBookEntries, getEntryPoints, getQueues, logger, }: UseConsultTransferParams): {
    selectedCategory: CategoryType;
    searchQuery: string;
    loadMoreRef: import("react").MutableRefObject<HTMLDivElement>;
    dialNumbers: AddressBookEntry[];
    hasMoreDialNumbers: boolean;
    loadingDialNumbers: boolean;
    entryPoints: {
        id: string;
        name: string;
    }[];
    hasMoreEntryPoints: boolean;
    loadingEntryPoints: boolean;
    queuesData: {
        id: string;
        name: string;
        description?: string;
    }[];
    hasMoreQueues: boolean;
    loadingQueues: boolean;
    handleSearchChange: (value: string) => void;
    handleAgentsClick: () => void;
    handleQueuesClick: () => void;
    handleDialNumberClick: () => void;
    handleEntryPointClick: () => void;
};
