import type { ButtonHTMLAttributes, DetailedHTMLProps, ReactNode } from 'react';
/**
* Author-defined props. `className` is intentionally redeclared here to verify
* that the inheritance-based filter keeps user-declared props even when the
* name collides with one on `HTMLAttributes`.
*/
export interface DomInheritedButtonAuthorProps {
/** Size variant declared on the author's interface, NOT inherited. */
size?: 'sm' | 'md' | 'lg';
/** Custom semantic prop. */
iconLeading?: ReactNode;
/** Override of the inherited className — should survive `removeHtmlAttributes`. */
className?: string;
}
/**
* Inherits from ButtonHTMLAttributes (which transitively pulls in
* HTMLAttributes / AriaAttributes / DOMAttributes), simulating the prop-deluge
* scenario the workspace infer-spec filters were designed to address.
*/
export interface DomInheritedButtonProps extends DomInheritedButtonAuthorProps, DetailedHTMLProps, HTMLButtonElement> {
}
export declare const DomInheritedButton: ({ size, iconLeading, className, ...rest }: DomInheritedButtonProps) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=dom-inherited-button.d.ts.map