export interface ConfigStatics {
    CONFIG_PACKAGE_PREFIX: string;
    FILTER_RULE_NAME_PREFIX: string;
    RULE_NAME_PREFIX: string;
    RULE_PRESET_NAME_PREFIX: string;
    PLUGIN_NAME_PREFIX: string;
}
export interface ConfigAutoLoadingOptions {
    rules?: string[];
    disabledRules?: string[];
    rulesConfig?: {
        [index: string]: boolean | {};
    };
    filterRules?: string[];
    disabledFilterRules?: string[];
    filterRulesConfig?: {
        [index: string]: boolean | {};
    };
    presets?: string[];
    plugins?: string[];
    pluginsConfig?: {
        [index: string]: boolean | {};
    };
    rulesBaseDirectory?: string;
    configFile?: string;
    rulePaths?: string[];
    formatterName?: string;
    quiet?: boolean;
    color?: boolean;
    textlintrc?: boolean;
    cache?: boolean;
    cacheLocation?: string;
    cwd?: string;
    ignoreFile?: string | undefined;
}
export declare class Config {
    rules: any;
    rulesBaseDirectory: string | undefined;
    configFile: string | undefined;
    disabledRules: string[];
    filterRules: string[];
    disabledFilterRules: string[];
    presets: string[];
    plugins: string[];
    pluginsConfig: {
        [index: string]: any;
    };
    rulesConfig: {
        [index: string]: any;
    };
    filterRulesConfig: {
        [index: string]: any;
    };
    rulePaths: string[];
    formatterName: string | undefined;
    quiet: boolean;
    color: boolean;
    cache: boolean;
    cacheLocation: string;
    ignoreFile: string | undefined;
    /**
     * @return {string} rc config filename
     * it's name use as `.<name>rc`
     */
    static get CONFIG_FILE_NAME(): string;
    /**
     * Create config object form command line options
     * See options.js
     * @param {object} cliOptions the options is command line option object. @see options.js
     * @returns {Config}
     */
    static initWithCLIOptions(cliOptions: any): Config;
    /**
     * load config and merge options.
     * These config is user defined options.
     * These config is prefer than preset packages's config that is defined by package author.
     * @param options
     */
    static initWithAutoLoading(options?: ConfigAutoLoadingOptions): Config;
    /**
     * Return hash string of the config and textlint version
     * @returns {string}
     */
    get hash(): any;
    /**
     * initialize with options.
     * @param {TextlintConfig} options the option object is defined as TextlintConfig.
     * @returns {Config}
     * @constructor
     */
    constructor(options?: Partial<Config>);
    private _assertCacheLocation;
    toJSON(): any;
}
//# sourceMappingURL=config.d.ts.map