import { LitElement, ReactiveController, ReactiveControllerHost } from 'lit';
import { QueryClient, InfiniteQueryObserverResult, InfiniteQueryObserverOptions, InfiniteData, InfiniteQueryObserver } from '@tanstack/query-core';
import { ContextConsumer } from '@lit/context';
import { WeavyContextType } from '../contexts/weavy-context';

export declare class InfiniteQueryController<TData = unknown> implements ReactiveController {
    host: ReactiveControllerHost;
    context?: ContextConsumer<{
        __context__: WeavyContextType;
    }, LitElement>;
    whenContext?: Promise<void>;
    resolveContext?: (value: void | PromiseLike<void>) => void;
    observer?: InfiniteQueryObserver<TData>;
    private _result?;
    get result(): InfiniteQueryObserverResult<InfiniteData<TData>>;
    private observerUnsubscribe?;
    constructor(host: ReactiveControllerHost);
    setContext(): Promise<void>;
    hostUpdate(): void;
    trackInfiniteQuery(infiniteQueryOptions: InfiniteQueryObserverOptions<TData, Error, InfiniteData<TData>>, queryClient?: QueryClient): Promise<void>;
    observerSubscribe(): void;
    untrackInfiniteQuery(): void;
    hostConnected(): void;
    hostDisconnected(): void;
}
//# sourceMappingURL=infinite-query-controller.d.ts.map