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