/** * Utilitários para validação de propriedades de elementos customizados. * * Inclui tipos auxiliares e função para validar valores permitidos em props. */ export type TExtractProp = T[keyof T] extends infer U ? U : never; export type TValidProperty = TExtractProp<{ [K in keyof E]: E[K] extends T ? K : never; }>; export declare const isValidPropValue: (value: unknown, acceptedValues: readonly T[]) => value is T; export declare const normalizePropValue: (value: unknown, acceptedValues: readonly T[], fallbackValue: T, warning?: { component: string; property: string; }) => T; /** * Valida se uma propriedade do elemento possui um valor permitido. * * Quando o valor atual não estiver na lista de aceitos, aplica `fallbackValue` * e registra um aviso no console para auxiliar o desenvolvimento. * * @param ACCEPTED_VALUES Lista de valores válidos. * @param fallbackValue Valor de fallback aplicado em caso de valor inválido. * @param element Referência do elemento que contém a propriedade. * @param propertyName Nome da propriedade a validar. */ export declare const validatePropValue: (ACCEPTED_VALUES: Readonly, fallbackValue: T, element: E, propertyName: TValidProperty) => void;