import { COLUMN_TYPE, FRAMEWORK_TYPE, NOTICE_TYPE } from './types.js';
import type { GenerateOptions, Plugin } from './types.js';
export declare const COLUMN_TYPE_DEFAULT_PRESENCE_AND_ORDERING: {
    [key in COLUMN_TYPE]: boolean;
};
export declare const NOTICE_TYPE_DEFAULT_PRESENCE_AND_ORDERING: {
    [key in NOTICE_TYPE]: boolean;
};
export declare const OPTION_DEFAULTS: {
    ai: boolean;
    aiModel: undefined;
    aiProvider: undefined;
    check: boolean;
    configEmoji: never[];
    configFormat: "name";
    framework: "none";
    ignoreConfig: never[];
    ignoreDeprecatedRules: boolean;
    initRuleDocs: boolean;
    pathRuleDoc: string;
    pathRuleList: string[];
    postprocess: (content: string) => string;
    ruleDocNotices: string[];
    ruleDocSectionExclude: never[];
    ruleDocSectionInclude: never[];
    ruleDocSectionOptions: boolean;
    ruleDocTitleFormat: "prefix-name";
    ruleListColumns: string[];
    ruleListSplit: never[];
    suggestEmojis: boolean;
    urlConfigs: undefined;
    urlRuleDoc: undefined;
};
/**
 * Combines user-provided options with default options. Additionally, this performs some basic
 * normalization, like converting "foo" to "[foo]" for options that are lists.
 */
export declare function getResolvedOptions(plugin: Plugin, userOptions?: GenerateOptions): {
    ai: boolean;
    aiModel: string | undefined;
    aiProvider: import("./types.js").AI_PROVIDER | undefined;
    check: boolean;
    configEmojis: import("./types.js").ConfigEmojis;
    configFormat: "name" | "plugin-colon-prefix-name" | "prefix-name";
    framework: FRAMEWORK_TYPE;
    ignoreConfig: readonly string[];
    ignoreDeprecatedRules: boolean;
    initRuleDocs: boolean;
    pathRuleDoc: string | import("./types.js").PathRuleDocFunction;
    pathRuleList: readonly string[];
    postprocess: (content: string, pathToFile: string) => string | Promise<string>;
    ruleDocNotices: readonly NOTICE_TYPE[];
    ruleDocSectionExclude: readonly string[];
    ruleDocSectionInclude: readonly string[];
    ruleDocSectionOptions: boolean;
    ruleDocTitleFormat: "name" | "prefix-name" | "desc" | "desc-parens-name" | "desc-parens-prefix-name";
    ruleListColumns: readonly COLUMN_TYPE[];
    ruleListSplit: readonly string[] | import("./types.js").RuleListSplitFunction;
    suggestEmojis: boolean;
    urlConfigs: string | undefined;
    urlRuleDoc: string | import("./types.js").UrlRuleDocFunction | undefined;
};
/** Dynamically calculated from the "getResolvedOptions" function. */
export type ResolvedGenerateOptions = ReturnType<typeof getResolvedOptions>;
