///
import { Config, Options, Overwrite, Schema, ValidateOptions, Format } from 'convict';
export declare class Convict implements Config {
private opts;
private def;
private schema;
private sensitive;
private instance;
private argv;
private env;
private static custom_converters;
private static types;
constructor(def: Schema | string, opts?: Options);
/**
* Gets the array of process arguments, using the override passed to the
* convict function or process.argv if no override was passed.
*/
getArgs(): string[];
/**
* Gets the environment variable map, using the override passed to the
* convict function or process.env if no override was passed.
*/
getEnv(): NodeJS.ProcessEnv | null;
/**
* Exports all the properties (that is the keys and their current values) as JSON
*/
getProperties(): any;
/**
* Exports all the properties (that is the keys and their current values) as
* a JSON string, with sensitive values masked. Sensitive values are masked
* even if they aren't set, to avoid revealing any information.
*/
toString(): string;
/**
* Exports the schema as JSON.
*/
getSchema(): any;
/**
* Exports the schema as a JSON string
*/
getSchemaString(): any;
/**
* @returns the current value of the name property. name can use dot
* notation to reference nested values
*/
get(name?: any): any;
/**
* @returns the default value of the name property. name can use dot
* notation to reference nested values
*/
default(path?: string | undefined): any;
/**
* Resets a property to its default value as defined in the schema
*/
reset(prop_name: any): void;
/**
* @returns true if the property name is defined, or false otherwise
*/
has(path: any): boolean;
/**
* Sets the value of name to value. name can use dot notation to reference
* nested values, e.g. "database.port". If objects in the chain don't yet
* exist, they will be initialized to empty objects
*/
set(k: string, v: any): any;
/**
* Loads and merges a JavaScript object into config
*/
load(conf: any): Config>;
/**
* Loads and merges one or multiple JSON configuration files into config
*/
loadFile(files: string | string[]): Config>;
/**
* Validates config against the schema used to initialize it
*/
validate(options?: (ValidateOptions & {
output?: (...args: any[]) => any;
}) | undefined): Config;
static addFormat(format: Format): void;
static addFormats(formats: {
[x: string]: Format;
}): void;
private fillErrorBuffer;
private findMissingItems;
private validateI;
private isObj;
private overlay;
private importEnvironment;
private flatten;
private contains;
private normalizeSchema;
private associateProperties;
private assignFormattingFunction;
private static assert;
private walk;
private addDefaultValues;
private importArguments;
private coerce;
private static isWindowsNamedPipe;
private static isPort;
private getFormat;
private traverseSchema;
private isBrowserEnv;
}