import WarpMemoryPool from '../../memory/WarpMemoryPool.ts';
import type { QueryNeighborEntry, QueryNeighborOptions, QueryNodeStreamRequest, QueryPropertyBag, QueryReadModel } from './QueryReadModelProvider.ts';
import type { QueryNodeSnapshot } from './QueryPlan.ts';
export type BoundedQueryReadModelFields = {
    readonly source: QueryReadModel;
    readonly pool: WarpMemoryPool;
};
/** QueryReadModel wrapper that leases each streamed result from an explicit memory pool. */
export default class BoundedQueryReadModel implements QueryReadModel {
    readonly stateHash: string;
    private readonly _source;
    private readonly _pool;
    constructor(fields: BoundedQueryReadModelFields);
    nodes(request: QueryNodeStreamRequest): AsyncIterable<QueryNodeSnapshot>;
    neighbors(nodeId: string, options: QueryNeighborOptions): AsyncIterable<QueryNeighborEntry>;
    nodeProps(nodeId: string): Promise<QueryPropertyBag | null>;
}
