/** * Shared utilities for Option interfaces and validation across compilers */ export interface Option { id: string; label: string; name?: string; link?: string; file?: string; icon?: string; description?: string; options?: Option[]; selected?: boolean; value?: string; } export type OptionReference = string; export type FlexibleOption = Option | OptionReference; export type FlexibleOptionGroup = FlexibleOption[] | FlexibleOption[][]; export type FlexibleOptionsInput = FlexibleOptionGroup; export type OptionsData = Option[][] | Option[] | Option; export interface ResolutionContext { allOptionsData: Record; currentFile: string; resolvedCache: Map; resolutionStack: Set; } export interface OptionsContext { optionsData: Record; resolvedCache: Map; } /** * Validate a single option object */ export declare function validateOption(option: Option, filePath: string): void; /** * Validate a group of options */ export declare function validateOptionGroup(group: Option[], _filePath?: string): Option[]; /** * Check if a given object is a valid Option */ export declare function isValidOption(obj: unknown): obj is Option; /** * Determine if input is array of arrays */ export declare function isArrayOfArrays(input: FlexibleOptionsInput): boolean; /** * Parse option reference string into file name and option ID */ export declare function parseOptionReference(reference: OptionReference, currentFile: string): { fileName: string; optionId: string; }; /** * Extract all options from a data structure */ export declare function extractAllOptionsFromData(data: OptionsData): Option[]; //# sourceMappingURL=option-utils.d.ts.map