import { ResolutionMethod } from '../publicTypes';
/** Explains Resolution Error options */
declare type ConfigurationErrorOptions = {
    method?: ResolutionMethod;
    dependency?: string;
    version?: string;
};
export declare enum ConfigurationErrorCode {
    IncorrectProvider = "IncorrectProvider",
    UnspecifiedNetwork = "UnspecifiedNetwork",
    UnspecifiedUrl = "UnspecifiedUrl",
    MissingProviderConfigurations = "MissingProviderConfigurations",
    DependencyMissing = "DependencyMissing"
}
/**
 * Configuration Error class is designed to control every error being thrown by wrong configurations for objects
 * @param code - Error Code
 * - IncorrectProvider - When provider doesn't have implemented send or sendAsync methods
 * - UnspecifiedNetwork - When network is not specified for naming service configurations
 * - UnspecifiedUrl - When url is not specified for custom naming service configurations
 * @param method - optional param to specify which namingService errored out
 */
export declare class ConfigurationError extends Error {
    readonly code: ConfigurationErrorCode;
    readonly method?: string;
    constructor(code: ConfigurationErrorCode, options?: ConfigurationErrorOptions);
}
export default ConfigurationError;
