import type { FormatData } from "../../types/string/formatString/formatData"; import type { FormatOptions } from "../../types/string/formatString/formatOptions"; import type { FormatValue } from "../../types/string/formatString/formatValue"; /** * Detects whether formatString should use indexed or named mode based on arguments. * * Named mode: First argument is a non-array object * Indexed mode: Arguments are treated as array values * * @param dataOrFirstValue - First argument (object for named mode, value for indexed mode) * @param optionsOrSecondValue - Second argument (options for named mode, value for indexed mode) * @param restValues - Remaining arguments for indexed mode * @returns Object containing data and options for formatting * * @example * // Named mode detection * detectMode({ name: "Alice" }) // → { data: { name: "Alice" }, options: {} } * * @example * // Indexed mode detection * detectMode("first", "second") // → { data: ["first", "second"], options: {} } */ export declare function detectMode(dataOrFirstValue: FormatData | FormatValue | undefined, optionsOrSecondValue: FormatOptions | FormatValue | undefined, restValues: FormatValue[]): { data: unknown; options: FormatOptions; };