import { ComplexAttributeConverter } from "lit"; import { Tag } from "../models/tag"; import { EnumValue } from "./types/advancedTypes"; declare const converterNoProvidedFallback: unique symbol; export declare const booleanConverter: (value: string | null) => boolean; /** * A Lit attribute converter for optional numeric properties. * * - `null` (attribute absent) → `undefined` * - `""` (empty string attribute) or `"null"` (string null from DOM serialization) → `null` * - Valid numeric string → `number` * - Invalid non-empty string → throws * * `toAttribute` semantics: * - `undefined` → removes the attribute entirely (returns `null` to Lit) * - `null` → sets attribute to `""` (empty string) * - `number` → sets attribute to the numeric string */ export declare const nullableNumberConverter: ComplexAttributeConverter; export declare const arrayConverter: (value: string | null | T[]) => T[]; export declare const tagArrayConverter: (value: string | null) => Tag[]; export declare const tagConverter: (value: string | null) => Tag | null; /** * this callback allows the user to define a callback in the attribute * * @param value - the value of the attribute as a string or a function * * @example * ```html * * * ``` */ export declare const callbackConverter: (value: string | null | ((...params: any[]) => T)) => any; export declare const enumConverter: >(enumValues: T, fallbackValue?: typeof converterNoProvidedFallback | EnumValue) => (value: string | null) => EnumValue | undefined; export {};