import * as t from "io-ts"; import { AutoRc } from "./types"; import { AsyncSeriesBailHook } from "tapable"; interface ConfigOptionError { /** Key path in config to misconfigured option */ path: string; /** The expected type */ expectedType: string; /** The actual value */ value: any; } export declare type ConfigError = string | ConfigOptionError; /** Format and error as a string */ export declare function formatError(error: ConfigError): string; export declare type ValidatePluginHook = AsyncSeriesBailHook<[string, any], void | ConfigError[]>; /** Ensure plugins validation is correct. */ export declare function validatePlugins(validatePlugin: ValidatePluginHook, rc: AutoRc): Promise; /** Create a function to validation a configuration based on the configDeceleration */ export declare const validateIoConfiguration: (name: string, configDeceleration: t.Any | t.HasProps) => (rc: unknown) => Promise>; export declare const validateAutoRc: (rc: unknown) => Promise>; /** Validate a plugin's configuration. */ export declare function validatePluginConfiguration(name: string, pluginDefinition: t.Any | t.HasProps, providedOptions: unknown): Promise<(string | { path: string; /** The expected type */ expectedType: string; /** The actual value */ value: any; })[]>; export {}; //# sourceMappingURL=validate-config.d.ts.map