/** * ARIA attribute utilities for WCAG compliance */ import type { LabelConfig, ValidationConfig, InteractiveStateConfig, WidgetConfig } from '../../types/index.js'; /** * Builds ARIA attributes object from a partial record, filtering out undefined values * and converting boolean/number/undefined values to strings for HTML attributes * * @example * ```ts * const attrs = buildAriaAttrs({ * 'aria-label': 'Close', * 'aria-expanded': false, * 'aria-valuenow': 50, * 'aria-hidden': undefined * }); * // { 'aria-label': 'Close', 'aria-expanded': 'false', 'aria-valuenow': '50' } * ``` */ export declare function buildAriaAttrs(attrs: Record): Record; /** * Creates ARIA attributes for labeling and describing elements * * @example * ```svelte * * ``` */ export declare function labelAttrs(options?: LabelConfig): Record; /** * Creates ARIA attributes for form validation states * * @example * ```svelte * * * ``` */ export declare function validationAttrs(options?: ValidationConfig): Record; /** * Creates ARIA attributes for interactive element states * * @example * ```svelte * * ``` */ export declare function interactiveStateAttrs(options?: InteractiveStateConfig): Record; /** * Creates ARIA attributes for complex widgets and roles * * @example * ```svelte *
* ``` */ export declare function widgetAttrs(options?: WidgetConfig): Record; /** * Combines multiple ARIA attribute objects into one * Useful for composing different accessibility patterns * * @example * ```svelte * * ``` */ export declare function mergeAttrs(...attrSets: Record[]): Record;