import { Color } from '@ionic/core';
/**
 * Option for the popover selector.
 */
export interface PopoverOption {
    /** Option value */
    value: string;
    /** Option display label */
    label: string;
    /** Option icon (optional) */
    icon?: string;
    /** Whether the option is disabled */
    disabled?: boolean;
}
/**
 * Props for val-popover-selector component.
 * A generic reusable popover selector component.
 *
 * @property options - Array of selectable options.
 * @property selectedValue - Currently selected value.
 * @property label - Display label for the selector.
 * @property icon - Icon to display in the trigger button (optional).
 * @property placeholder - Placeholder text when no option is selected.
 * @property color - Button color (Ionic color string).
 * @property size - Button size ('small' | 'default' | 'large').
 * @property fill - Button fill style ('clear' | 'outline' | 'solid' | 'default').
 * @property shape - Button shape ('round' | undefined).
 * @property expand - Button expansion ('full' | 'block' | undefined).
 * @property disabled - Whether the selector is disabled.
 * @property interface - Popover interface style ('popover' | 'action-sheet' | 'alert').
 * @property showCheckmark - Whether to show checkmarks for selected options.
 * @property multiple - Whether multiple selection is allowed.
 * @property cancelText - Text for cancel button.
 * @property okText - Text for OK button.
 */
export interface PopoverSelectorMetadata {
    /** Array of selectable options */
    options: PopoverOption[];
    /** Currently selected value(s) */
    selectedValue?: string | string[];
    /** Display label for the selector */
    label?: string;
    /** Icon to display in the trigger */
    icon?: string;
    /** Placeholder text when no option is selected */
    placeholder?: string;
    /** Button color */
    color?: Color;
    /** Button size */
    size?: 'small' | 'default' | 'large';
    /** Button fill style */
    fill?: 'clear' | 'outline' | 'solid' | 'default';
    /** Button shape */
    shape?: 'round';
    /** Button expansion */
    expand?: 'full' | 'block';
    /** Whether the selector is disabled */
    disabled?: boolean;
    /** Popover interface style */
    interface?: 'popover' | 'action-sheet' | 'alert';
    /** Whether to show checkmarks for selected options */
    showCheckmark?: boolean;
    /** Whether multiple selection is allowed */
    multiple?: boolean;
    /** Cancel button text */
    cancelText?: string;
    /** OK button text */
    okText?: string;
}
