///
///
import { BaseBulkDatabaseReader } from "./BulkDatabaseFormat";
type CopyRun = {
sourceIdx: number;
sourceStartRow: number;
sourceEndRow: number;
outputByteStart: number;
byteLength: number;
};
type PlannedOutputColumn = {
name: string;
offsets: Uint32Array;
types: Uint8Array;
dataLength: number;
runs: CopyRun[];
};
export type PlannedOutputFile = {
keys: string[];
times: number[];
minKey: string;
maxKey: string;
columns: PlannedOutputColumn[];
estimatedFileBytes: number;
sourceCounts: Map;
};
export type PlannedMergeOutput = {
name: string;
minKey: string;
maxKey: string;
rowCount: number;
size: number;
sources: Map;
};
export declare function runPlannedMerge(config: {
sources: BaseBulkDatabaseReader[];
sourceNames: string[];
collectionName: string;
targetFileBytes?: number;
targetBatchBytes?: number;
log?: (line: string) => void;
writeFile: (data: Buffer) => Promise<{
name: string;
size: number;
}>;
}): Promise<{
outputs: PlannedMergeOutput[];
carriedDeletes: Map;
usedSourceNames: Set;
}>;
export {};