import { ConfigArray } from '@eslint/config-array';
import { Severity, type RuleSettings } from './rule.js';
interface GlobalConfig {
    cwd: string;
    patterns: string[];
    verbose: boolean;
    displayStats: boolean;
    reportUnusedDisableDirective: boolean;
    reportDisableDirectiveWithoutDescription: boolean;
    linter: MSLintConfigArray;
}
interface LinterConfig {
    rules?: Record<string, Severity | unknown[]>;
    msApiPath?: string;
}
declare class MSLintConfigArray extends ConfigArray {
}
declare function getRuleSeverity(source: unknown): Severity | undefined;
declare function getRuleSettings(source: Severity | unknown[]): RuleSettings;
declare function validateConfig(unvalidatedGlobalConfig: unknown): GlobalConfig;
declare function createConfig({ cwd, patterns, verbose, displayStats, reportUnusedDisableDirective, reportDisableDirectiveWithoutDescription, rules, msApiPath }: {
    cwd?: string;
    patterns?: string | string[];
    verbose?: boolean;
    displayStats?: boolean;
    reportUnusedDisableDirective?: boolean;
    reportDisableDirectiveWithoutDescription?: boolean;
    rules?: Record<string, Severity | unknown[]>;
    msApiPath?: string;
}): GlobalConfig;
declare function loadConfig(configPath: string): GlobalConfig;
export { type GlobalConfig, type LinterConfig, Severity, getRuleSeverity, getRuleSettings, validateConfig, createConfig, loadConfig };
