type UseLiveCollection<Param, Data> = {
    key: string[];
    enabled?: boolean;
    params: Amity.LiveCollectionParams<Param>;
    fetcher: (params: Amity.LiveCollectionParams<Param>, callback: Amity.LiveCollectionCallback<Data>, config?: Amity.LiveCollectionConfig) => Amity.Unsubscriber;
};
type NextPageParam = () => void;
type CollectionResponse<Data> = {
    data: Data[];
    hasNextPage?: boolean;
    onNextPage?: NextPageParam;
};
export declare const useLiveCollection: <Param, Data>({ key, enabled, params, fetcher, }: UseLiveCollection<Param, Data>) => {
    data: Data[];
    error: Error;
    isError: true;
    isPending: false;
    isLoading: false;
    isLoadingError: false;
    isRefetchError: true;
    isSuccess: false;
    isPlaceholderData: false;
    status: "error";
    fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
    isFetchNextPageError: boolean;
    isFetchingNextPage: boolean;
    isFetchPreviousPageError: boolean;
    isFetchingPreviousPage: boolean;
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isRefetching: boolean;
    isStale: boolean;
    isEnabled: boolean;
    refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }>;
} | {
    data: Data[];
    error: null;
    isError: false;
    isPending: false;
    isLoading: false;
    isLoadingError: false;
    isRefetchError: false;
    isFetchNextPageError: false;
    isFetchPreviousPageError: false;
    isSuccess: true;
    isPlaceholderData: false;
    status: "success";
    fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
    isFetchingNextPage: boolean;
    isFetchingPreviousPage: boolean;
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isRefetching: boolean;
    isStale: boolean;
    isEnabled: boolean;
    refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }>;
} | {
    data: Data[];
    error: Error;
    isError: true;
    isPending: false;
    isLoading: false;
    isLoadingError: true;
    isRefetchError: false;
    isFetchNextPageError: false;
    isFetchPreviousPageError: false;
    isSuccess: false;
    isPlaceholderData: false;
    status: "error";
    fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
    isFetchingNextPage: boolean;
    isFetchingPreviousPage: boolean;
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isRefetching: boolean;
    isStale: boolean;
    isEnabled: boolean;
    refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }>;
} | {
    data: Data[];
    error: null;
    isError: false;
    isPending: true;
    isLoading: true;
    isLoadingError: false;
    isRefetchError: false;
    isFetchNextPageError: false;
    isFetchPreviousPageError: false;
    isSuccess: false;
    isPlaceholderData: false;
    status: "pending";
    fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
    isFetchingNextPage: boolean;
    isFetchingPreviousPage: boolean;
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isRefetching: boolean;
    isStale: boolean;
    isEnabled: boolean;
    refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }>;
} | {
    data: Data[];
    error: null;
    isError: false;
    isPending: true;
    isLoadingError: false;
    isRefetchError: false;
    isFetchNextPageError: false;
    isFetchPreviousPageError: false;
    isSuccess: false;
    isPlaceholderData: false;
    status: "pending";
    fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
    isFetchingNextPage: boolean;
    isFetchingPreviousPage: boolean;
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isLoading: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isRefetching: boolean;
    isStale: boolean;
    isEnabled: boolean;
    refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }>;
} | {
    data: Data[];
    isError: false;
    error: null;
    isPending: false;
    isLoading: false;
    isLoadingError: false;
    isRefetchError: false;
    isSuccess: true;
    isPlaceholderData: true;
    isFetchNextPageError: false;
    isFetchPreviousPageError: false;
    status: "success";
    fetchNextPage: (options?: import("@tanstack/react-query").FetchNextPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchPreviousPage: (options?: import("@tanstack/react-query").FetchPreviousPageOptions) => Promise<import("@tanstack/react-query").InfiniteQueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    hasNextPage: boolean;
    hasPreviousPage: boolean;
    isFetchingNextPage: boolean;
    isFetchingPreviousPage: boolean;
    dataUpdatedAt: number;
    errorUpdatedAt: number;
    failureCount: number;
    failureReason: Error;
    errorUpdateCount: number;
    isFetched: boolean;
    isFetchedAfterMount: boolean;
    isFetching: boolean;
    isInitialLoading: boolean;
    isPaused: boolean;
    isRefetching: boolean;
    isStale: boolean;
    isEnabled: boolean;
    refetch: (options?: import("@tanstack/react-query").RefetchOptions) => Promise<import("@tanstack/react-query").QueryObserverResult<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }, Error>>;
    fetchStatus: import("@tanstack/react-query").FetchStatus;
    promise: Promise<{
        pages: CollectionResponse<Data>[];
        pageParams: NextPageParam[];
    }>;
};
export {};
//# sourceMappingURL=useReactQueryLiveCollection.d.ts.map