import { TextlintKernelDescriptor } from "@textlint/kernel";
import { TextlintFixResult, TextlintPluginCreator, TextlintPluginOptions, TextlintPluginProcessorConstructor, TextlintResult } from "@textlint/kernel";
import { Config } from "./config";
/**
 * @class {TextLintCore}
 * @deprecated use new APIs https://textlint.github.io/docs/use-as-modules.html#new-apis
 */
export declare class TextLintCore {
    private kernel;
    private config;
    private defaultPlugins;
    textlintKernelDescriptor: TextlintKernelDescriptor;
    constructor(config?: Partial<Config>);
    /**
     * Use setupPlugins insteadof it.
     *
     * ````
     * textlint.setupPlugins({
     *   yourPluginName: yourPlugin
     * });
     * ````
     *
     * @param {*} Processor
     * @deprecated
     *
     * It will be removed until textlint@10
     */
    addProcessor(Processor: TextlintPluginProcessorConstructor): void;
    /**
     * register Processors
     * @param {Object} plugins
     * @param {Object} [pluginsConfig]
     */
    setupPlugins(plugins?: {
        [index: string]: TextlintPluginCreator;
    }, pluginsConfig?: {
        [index: string]: TextlintPluginOptions;
    }): void;
    /**
     * Register rules and rulesConfig.
     * if want to release rules, please call {@link resetRules}.
     * @param {object} rules rule objects array
     * @param {object} [rulesOption] ruleConfig is object
     */
    setupRules(rules?: {}, rulesOption?: {}): void;
    /**
     * Register filterRules and filterRulesConfig.
     * if want to release rules, please call {@link resetRules}.
     * @param {object} filterRules rule objects array
     * @param {object} [filterRulesOption] ruleConfig is object
     */
    setupFilterRules(filterRules?: {}, filterRulesOption?: {}): void;
    /**
     * Remove all registered rule and clear messages.
     */
    resetRules(): void;
    /**
     * lint text by registered rules.
     * The result contains target filePath and error messages.
     * @param {string} text
     * @param {string} ext ext is extension. default: .txt
     * @returns {Promise.<TextlintResult>}
     */
    lintText(text: string, ext?: string): Promise<TextlintResult>;
    /**
     * lint markdown text by registered rules.
     * The result contains target filePath and error messages.
     * @param {string} text markdown format text
     * @returns {Promise.<TextlintResult>}
     */
    lintMarkdown(text: string): Promise<TextlintResult>;
    /**
     * lint file and return result object
     * @param {string} filePath
     * @returns {Promise.<TextlintResult>} result
     */
    lintFile(filePath: string): Promise<TextlintResult>;
    /**
     * fix file and return fix result object
     * @param {string} filePath
     * @returns {Promise.<TextlintFixResult>}
     */
    fixFile(filePath: string): Promise<TextlintFixResult>;
    /**
     * fix texts and return fix result object
     * @param {string} text
     * @param {string} ext
     * @returns {Promise.<TextlintFixResult>}
     */
    fixText(text: string, ext?: string): Promise<TextlintFixResult>;
    /**
     * @private
     */
    private _mergeSetupOptions;
}
//# sourceMappingURL=textlint-core.d.ts.map