/** * Lightweight utilities for PXM components * Focused on simplicity and reducing code duplication */ export interface AttributeSchema { [key: string]: { type: 'boolean' | 'number' | 'string'; default: any; min?: number; max?: number; }; } /** * Parse component attributes based on a simple schema */ export declare function parseAttributes(element: HTMLElement, schema: AttributeSchema): Record; /** * Setup keyboard navigation with a simple handler map */ export declare function setupKeyboardNav(element: HTMLElement, handlers: Record void>): void; /** * Simple ARIA attribute helper */ export declare function setAriaAttributes(element: HTMLElement, attributes: Record): void; /** * Cache DOM queries to avoid repeated selections */ export declare function createQueryCache(): { query(selector: string, element?: ParentNode): T | null; queryAll(selector: string, element?: ParentNode): NodeListOf; clear(): void; }; /** * Simple error boundary for component failures */ export declare function withErrorBoundary(fn: T, fallback?: () => void): T;