import { ApiOptions } from './auto-args';
import { ILabelDefinition, ILabelDefinitionMap } from './release';
import { ILogger } from './utils/logger';
declare type ConfigObject = any;
/** Transform all types of label configuration into just 1 shape */
export declare function normalizeLabel(name: string, label: string | Partial<ILabelDefinition> | (Partial<ILabelDefinition> | string)[]): Partial<ILabelDefinition>[];
/**
 * Go through all the labels in a config and make them
 * follow the same format.
 */
export declare function normalizeLabels(config: ConfigObject): ILabelDefinitionMap;
/** Load a user's configuration from the system and resolve any extended config */
export default class Config {
    /** A logger that uses log levels */
    logger: ILogger;
    /** Initialize the config loader */
    constructor(logger: ILogger);
    /**
     * Load the .autorc from the file system, set up defaults, combine with CLI args
     * load the extends property, load the plugins and start the git remote interface.
     */
    loadConfig(args: ApiOptions): Promise<any>;
    /**
     * Loads a config from a path, package name, or special `auto-config` pattern
     *
     * ex: auto-config-MY_CONFIG
     * ex: @MY_CONFIG/auto-config
     *
     * @param extend - Path or name of config to find
     */
    loadExtendConfig(extend: string): Promise<any>;
}
export {};
//# sourceMappingURL=config.d.ts.map