import type NeighborProviderPort from '../../../ports/NeighborProviderPort.ts';
import type WarpState from '../state/WarpState.ts';
import type { QueryReadModel, QueryReadModelOpenRequest, QueryReadModelProvider } from './QueryReadModelProvider.ts';
type BoundedReadModelProvider = (request: QueryReadModelOpenRequest) => Promise<QueryReadModel | null>;
type LiveQueryReadModelProviderParams = {
    readonly ensureFreshState: () => Promise<void>;
    readonly currentState: () => WarpState | null;
    readonly stateHash: (state: WarpState) => Promise<string>;
    readonly neighborProvider: () => NeighborProviderPort | null;
    readonly boundedReadModelProvider?: BoundedReadModelProvider;
};
export default class LiveQueryReadModelProvider implements QueryReadModelProvider {
    #private;
    constructor(params: LiveQueryReadModelProviderParams);
    openQueryReadModel(request?: QueryReadModelOpenRequest): Promise<QueryReadModel>;
}
export {};
