import { IconModel } from '../../pg-icon/icon-model'; import { SuffixIconModel } from './suffix-icon-model'; import { ValidationModel } from './validation-model'; import { SelectItemModel } from './select-item-model'; import { CalendarModel } from './calendar-model'; import { ConditionalBehaviorModel, BehaviorModel } from '../../core/models/behavior-model'; export interface InputModel { formControlName: string; id?: string; type?: string; secure?: boolean; shouldRender?: ConditionalBehaviorModel; mask?: Array | string; label?: string; loading?: boolean; size?: 'sm' | 'md'; onFocus?: BehaviorModel[]; onBlur?: BehaviorModel[]; onInput?: BehaviorModel[]; onKeydown?: BehaviorModel[]; onKeyup?: BehaviorModel[]; validationList?: ValidationModel[]; hint?: string; prefixIcon?: PrefixIconModel; suffixIcons?: SuffixIconModel[]; placeholder?: string; maxLength?: number; validCharacters?: { regex: string; } | string; validationIconDisabled?: boolean; disabled?: boolean; required?: boolean; requiredMessage?: string; visibilityCanToggle?: boolean; selectItems?: SelectItemModel[]; specialBehavior?: 'money' | 'payment-card' | null; calendar?: CalendarModel; } export interface PrefixIconModel extends IconModel { iconDisplayOption?: 'SHOW_ALWAYS' | 'HIDE_MOBILE'; } export interface StateSelectInputModel { formControlName: string; id?: string; label?: string; loading?: boolean; size?: 'sm' | 'md'; onFocus?: BehaviorModel[]; onBlur?: BehaviorModel[]; onInput?: BehaviorModel[]; onKeydown?: BehaviorModel[]; onKeyup?: BehaviorModel[]; excludedStates?: string[]; additionalStates?: SelectItemModel[]; validationList?: ValidationModel[]; hint?: string; prefixIcon?: IconModel; suffixIcons?: SuffixIconModel[]; placeholder?: string; validationIconDisabled?: boolean; disabled?: boolean; }