///
import type { Writable } from 'stream';
import type { DataService } from 'mongodb-data-service';
import type { PreferencesAccess } from 'compass-preferences-model/provider';
import type { AggregationCursor, FindCursor } from 'mongodb';
import type { ExportAggregation, ExportQuery, ExportResult } from './export-types';
export type ExportJSONFormat = 'default' | 'relaxed' | 'canonical';
type ExportJSONOptions = {
output: Writable;
abortSignal?: AbortSignal;
input: FindCursor | AggregationCursor;
progressCallback?: (index: number) => void;
variant: ExportJSONFormat;
};
export declare function exportJSON({ output, abortSignal, input, progressCallback, variant, }: ExportJSONOptions): Promise;
export declare function exportJSONFromAggregation({ ns, aggregation, dataService, preferences, ...exportOptions }: Omit & {
ns: string;
dataService: Pick;
preferences: PreferencesAccess;
aggregation: ExportAggregation;
}): Promise;
export declare function exportJSONFromQuery({ ns, query, dataService, ...exportOptions }: Omit & {
ns: string;
dataService: Pick;
query?: ExportQuery;
}): Promise;
export {};
//# sourceMappingURL=export-json.d.ts.map