import { ButtonFormControlMixinInstance } from './button.types.js'; export type { ButtonFormControlMixinInstance, ButtonType, CurrentState, PopoverTargetAction } from './button.types.js'; interface ButtonFormControlHost { connectedCallback?(): void; disconnectedCallback?(): void; attributeChangedCallback?(name: string, oldValue: string | null, newValue: string | null): void; requestUpdate?(name?: string, oldValue?: unknown): void; updateComplete?: Promise; } type Constructor = (new (...args: any[]) => HTMLElement & ButtonFormControlHost) & { observedAttributes?: string[]; }; type ButtonFormControlConstructor = new (...args: ConstructorParameters) => InstanceType & ButtonFormControlMixinInstance; export type ButtonFormControlMixinReturn = ButtonFormControlConstructor & { formAssociated: boolean; observedAttributes: string[]; } & Omit; /** * @description A mixin that adds native button-style form, command, popover, and interaction behavior. * @aria https://www.w3.org/WAI/ARIA/apg/patterns/button/ */ export declare function ButtonFormControlMixin(SuperClass: TBase): ButtonFormControlMixinReturn;