/** Una opción del selector. */ export interface OptionSheetOption { /** Valor que devuelve el sheet al elegirla. */ value: T; /** Texto visible. Ya traducido: el componente no resuelve i18n. */ text: string; /** Línea secundaria opcional, para desambiguar sin alargar el texto. */ description?: string; /** Ionicons opcional a la izquierda. */ icon?: string; /** * Acción destructiva o irreversible. Se pinta con `danger`, que es el token * de peligro real, no el acento de marca de cada app. */ destructive?: boolean; /** Deshabilitada: visible pero no elegible. */ disabled?: boolean; } export interface OptionSheetMetadata { /** Encabezado. Dice sobre QUÉ se está eligiendo. */ title?: string; /** Bajada opcional. */ subtitle?: string; options: OptionSheetOption[]; /** Texto del botón de salida. Default: 'Cancelar' / 'Cancel' según idioma. */ cancelText?: string; /** Ocultar el botón de salida. Solo si el flujo ya ofrece otra salida. */ hideCancel?: boolean; } /** Resultado: `undefined` cuando se salió sin elegir. */ export interface OptionSheetResult { value?: T; cancelled: boolean; }