import { type ButtonHTMLAttributes } from 'react'; import type { LucideIcon } from '../Icon/index.js'; import { type VariantProps } from '../tvShim.js'; declare const iconButton: import("tailwind-variants").TVReturnType<{ tone: { default: string; danger: string; muted: string; }; size: { sm: string; md: string; }; }, undefined, string, TVConfig, { tone: { default: string; danger: string; muted: string; }; size: { sm: string; md: string; }; }, undefined, import("tailwind-variants").TVReturnType<{ tone: { default: string; danger: string; muted: string; }; size: { sm: string; md: string; }; }, undefined, string, TVConfig, unknown, unknown, undefined>>; type IconButtonVariants = VariantProps; export type IconButtonProps = Omit, 'children' | 'aria-label'> & IconButtonVariants & { readonly icon: LucideIcon; /** Required accessible name (visible label is icon-only). */ readonly 'aria-label': string; }; /** * CMP-0018 IconButton — icon-only control with required `aria-label`. * Glyphs must come from the shared Lucide map (`pi-kiosk-shared/ui`), not app `lucide-react` imports. */ export declare const IconButton: import("react").ForwardRefExoticComponent, "children" | "aria-label"> & IconButtonVariants & { readonly icon: LucideIcon; /** Required accessible name (visible label is icon-only). */ readonly 'aria-label': string; } & import("react").RefAttributes>; export {}; //# sourceMappingURL=IconButton.d.ts.map