import type { Rule } from "eslint"; import type { UnknownArray, UnknownRecord } from "type-fest"; import type { OutputStream, ProgressMode, ProgressPathFormat, SpinnerStyle } from "../types.js"; /** * Fully normalized progress settings used at runtime. */ export interface NormalizedProgressSettings { readonly detailedSuccess: boolean; readonly failureMark: string; readonly fileNameOnNewLine: boolean; readonly hide: boolean; readonly hideFileName: boolean; readonly hidePrefix: boolean; readonly minFilesBeforeShow: number; readonly mode: ProgressMode | undefined; readonly outputStream: OutputStream; readonly pathFormat: ProgressPathFormat; readonly prefixMark: string; readonly showSummaryWhenHidden: boolean; readonly spinnerStyle: SpinnerStyle; readonly successMark: string; readonly successMessage: string; readonly throttleMs: number; readonly ttyOnly: boolean; } type RuleSchema = NonNullable["schema"]>; /** * JSON schema describing the public rule options. */ export declare const progressOptionsSchema: RuleSchema; /** * Default runtime settings used when callers omit all options. */ export declare const defaultSettings: Readonly; /** * Reads the legacy shared `settings.progress` configuration, when present. * * @param settings - ESLint shared settings object. * * @returns Legacy progress settings value. */ export declare const getLegacyProgressSettings: (settings: Readonly) => unknown; /** * Reads the first rule option object from the current rule context. * * @param context - ESLint rule context. * * @returns Raw rule option payload. */ export declare const getRuleOptionSettings: (context: Readonly) => unknown; /** * Merges multiple raw settings objects into a single record. * * @param sources - Candidate settings sources ordered from lowest to highest * precedence. * * @returns Merged settings record. */ export declare const mergeProgressSettings: (...sources: Readonly) => Readonly; /** * Resolves a raw spinner style to a supported runtime value. * * @param rawStyle - Raw spinner style value. * * @returns Supported spinner style. */ export declare const resolveSpinnerStyle: (rawStyle: unknown) => SpinnerStyle; /** * Resolves a raw output stream value to a supported runtime value. * * @param rawStream - Raw output stream value. * * @returns Supported output stream. */ export declare const resolveOutputStream: (rawStream: unknown) => OutputStream; /** * Resolves a raw progress mode to a supported runtime value. * * @param rawMode - Raw progress mode value. * * @returns Supported progress mode, if any. */ export declare const resolveProgressMode: (rawMode: unknown) => ProgressMode | undefined; /** * Resolves the path format, honoring the legacy `hideDirectoryNames` alias. * * @param rawPathFormat - Raw path format value. * @param rawHideDirectoryNames - Legacy compatibility toggle. * * @returns Supported path format. */ export declare const resolvePathFormat: (rawPathFormat: unknown, rawHideDirectoryNames: unknown) => ProgressPathFormat; /** * Normalizes raw rule or shared settings into the runtime settings shape. * * @param raw - Raw settings value. * * @returns Fully normalized settings object. */ export declare const normalizeSettings: (raw: unknown) => NormalizedProgressSettings; export {}; //# sourceMappingURL=progress-options.d.ts.map