import { ErrorCode } from '../../types';
import { DataTransferError } from './base';
import { Severity } from './constants';
type ProviderStep = 'initialization' | 'validation' | 'transfer';
export type ProviderErrorDetails
= {
step: P;
code?: ErrorCode;
} & ([U] extends [never] ? unknown : {
details?: U;
});
export declare class ProviderError
= ProviderErrorDetails
> extends DataTransferError {
constructor(severity: Severity, message?: string, details?: T | null);
}
export declare class ProviderInitializationError extends ProviderError<'initialization'> {
constructor(message?: string);
}
export declare class ProviderValidationError extends ProviderError<'validation', T> {
constructor(message?: string, details?: T);
}
export declare class ProviderTransferError extends ProviderError<'transfer', T> {
constructor(message?: string, details?: T);
}
export {};
//# sourceMappingURL=providers.d.ts.map