import { type MaterializePatchSummary } from './MaterializePatchSummary.ts';
import type WarpState from '../state/WarpState.ts';
import type { PatchWithSha } from '../../capabilities/PatchCollector.ts';
import type { MaterializeReduceOutput } from './MaterializeController.ts';
import type { ProvenanceIndex } from '../provenance/ProvenanceIndex.ts';
export type MaterializePatchStreamOptions = {
    receipts: boolean;
    wantDiff: boolean;
};
export type MaterializePatchStreamReduction = {
    readonly reduced: MaterializeReduceOutput;
    readonly summary: MaterializePatchSummary;
};
export type MaterializePatchStreamReduceInput = {
    readonly source: AsyncIterable<PatchWithSha>;
    readonly base: WarpState | undefined;
    readonly options: MaterializePatchStreamOptions;
    readonly provenanceBase?: ProvenanceIndex;
};
export default class MaterializePatchStreamReducer {
    static reduce(input: MaterializePatchStreamReduceInput): Promise<MaterializePatchStreamReduction>;
}
