import WarpMemoryPool from '../../memory/WarpMemoryPool.ts';
import BoundedSyncPatchBatch, { type BoundedSyncPatchDescriptor } from './BoundedSyncPatchBatch.ts';
export type BoundedSyncPatchSourceRequest = {
    readonly cursor: string | null;
    readonly limit: number;
};
export type BoundedSyncPatchSourceFactory = (request: BoundedSyncPatchSourceRequest) => AsyncIterable<BoundedSyncPatchDescriptor>;
export type BoundedSyncPatchBatchReaderFields = {
    readonly openSource: BoundedSyncPatchSourceFactory;
    readonly pool: WarpMemoryPool;
};
export type BoundedSyncPatchBatchRequest = {
    readonly limit: number;
    readonly cursor?: string | null;
};
/** Cursorized bounded reader for sync patch descriptor streams. */
export default class BoundedSyncPatchBatchReader {
    private readonly _openSource;
    private readonly _pool;
    constructor(fields: BoundedSyncPatchBatchReaderFields);
    readBatch(request: BoundedSyncPatchBatchRequest): Promise<BoundedSyncPatchBatch>;
}
