/// <reference types="react" />
import type { Channel, ChannelFilters, ChannelOptions, ChannelSort, StreamChat } from 'stream-chat';
import type { ChannelsQueryState } from '../../Chat/hooks/useChannelsQueryState';
type AllowedQueryType = Extract<ChannelsQueryState['queryInProgress'], 'reload' | 'load-more'>;
export type CustomQueryChannelParams = {
    currentChannels: Array<Channel>;
    queryType: AllowedQueryType;
    setChannels: React.Dispatch<React.SetStateAction<Array<Channel>>>;
    setHasNextPage: React.Dispatch<React.SetStateAction<boolean>>;
};
export type CustomQueryChannelsFn = (params: CustomQueryChannelParams) => Promise<void>;
export declare const usePaginatedChannels: (client: StreamChat, filters: ChannelFilters, sort: ChannelSort, options: ChannelOptions, activeChannelHandler: (channels: Array<Channel>, setChannels: React.Dispatch<React.SetStateAction<Array<Channel>>>) => void, recoveryThrottleIntervalMs?: number, customQueryChannels?: CustomQueryChannelsFn) => {
    channels: Channel[];
    hasNextPage: boolean;
    loadNextPage: () => Promise<void>;
    setChannels: import("react").Dispatch<import("react").SetStateAction<Channel[]>>;
};
export {};
