export type FieldKind = 'text' | 'number' | 'select' | 'multiselect' | 'toggle' | 'masked' | 'path' | 'readonly'; export interface Ctx { current: Readonly>; pending: Readonly>; } export interface FieldOption { value: string; label: string; hint?: string; } export interface FieldDef { key: string; settingsPath: string; label: string; kind: FieldKind; help?: string; default?: unknown; options?: ReadonlyArray; min?: number; max?: number; secret?: true; propagateToAgents?: boolean; visible?: (ctx: Ctx) => boolean; validate?: (v: unknown) => string | null; futureNote?: string; } export type CategoryId = 'browser' | 'search' | 'llm' | 'agents' | 'cache' | 'advanced'; export interface CategoryDef { id: CategoryId; label: string; description: string; fields: ReadonlyArray; groups?: ReadonlyArray<{ label: string; fieldKeys: string[]; }>; } //# sourceMappingURL=types.d.ts.map