import type { ErroredQuery } from '../../../zero-protocol/src/custom-queries.ts'; import type { TTL } from '../query/ttl.ts'; import type { Listener, TypedView } from '../query/typed-view.ts'; import type { Change } from './change.ts'; import type { Input, Output } from './operator.ts'; import type { Format, View } from './view.ts'; /** * Implements a materialized view of the output of an operator. * * It might seem more efficient to use an immutable b-tree for the * materialization, but it's not so clear. Inserts in the middle are * asymptotically slower in an array, but can often be done with zero * allocations, where changes to the b-tree will often require several allocs. * * Also the plain array view is more convenient for consumers since you can dump * it into console to see what it is, rather than having to iterate it. */ export declare class ArrayView implements Output, TypedView { #private; onDestroy: (() => void) | undefined; constructor(input: Input, format: Format, queryComplete: true | ErroredQuery | Promise, updateTTL: (ttl: TTL) => void); get data(): V; addListener(listener: Listener): () => void; destroy(): void; push(change: Change): void; flush(): void; updateTTL(ttl: TTL): void; } //# sourceMappingURL=array-view.d.ts.map