///
import { PassThrough } from 'stream';
import type { IDestinationProvider, ISourceProvider, ITransferEngine, ITransferEngineOptions, TransferProgress, ITransferResults, TransferStage, TransferFilters, TransferFilterPreset, SchemaDiffHandler, SchemaDiffHandlerContext, ErrorHandler, ErrorHandlerContext, ErrorCode } from '../../types';
import { IDiagnosticReporter, ErrorDiagnosticSeverity } from '../utils/diagnostic';
export declare const TRANSFER_STAGES: ReadonlyArray;
export type TransferGroupFilter = Record;
/**
* Preset filters for only/exclude options
* */
export declare const TransferGroupPresets: TransferGroupFilter;
export declare const DEFAULT_VERSION_STRATEGY = "ignore";
export declare const DEFAULT_SCHEMA_STRATEGY = "strict";
declare class TransferEngine implements ITransferEngine {
#private;
sourceProvider: ISourceProvider;
destinationProvider: IDestinationProvider;
options: ITransferEngineOptions;
progress: {
data: TransferProgress;
stream: PassThrough;
};
diagnostics: IDiagnosticReporter;
onSchemaDiff(handler: SchemaDiffHandler): void;
addErrorHandler(handlerName: ErrorCode, handler: ErrorHandler): void;
attemptResolveError(error: Error): Promise;
constructor(sourceProvider: S, destinationProvider: D, options: ITransferEngineOptions);
/**
* Report a fatal error and throw it
*/
panic(error: Error): void;
/**
* Report an error diagnostic
*/
reportError(error: Error, severity: ErrorDiagnosticSeverity): void;
/**
* Report a warning diagnostic
*/
reportWarning(message: string, origin?: string): void;
/**
* Report an info diagnostic
*/
reportInfo(message: string, params?: unknown): void;
shouldSkipStage(stage: TransferStage): boolean;
abortTransfer(): Promise;
init(): Promise;
/**
* Run the bootstrap method in both source and destination providers
*/
bootstrap(): Promise;
/**
* Run the close method in both source and destination providers
*/
close(): Promise;
integrityCheck(): Promise;
transfer(): Promise>;
beforeTransfer(): Promise;
transferSchemas(): Promise;
transferEntities(): Promise;
transferLinks(): Promise;
transferAssets(): Promise;
transferConfiguration(): Promise;
}
export declare const createTransferEngine: (sourceProvider: S, destinationProvider: D, options: ITransferEngineOptions) => TransferEngine;
export type { TransferEngine, ITransferEngine, ITransferEngineOptions, ISourceProvider, IDestinationProvider, TransferStage, TransferFilterPreset, ErrorHandlerContext, SchemaDiffHandlerContext, ITransferResults, };
export * as errors from './errors';
//# sourceMappingURL=index.d.ts.map