/**
 * Copyright Kyndryl, Inc. 2023
 */
import { LitElement } from 'lit';
import { BUTTON_KINDS, BUTTON_SIZES, BUTTON_TYPES, BUTTON_ICON_POSITION } from './defs';
/**
 * Button component.
 *
 * @slot unnamed - Slot for button text.
 * @slot icon - Slot for an icon.
 * @fires on-click - Emits the original click event.
 */
export declare class Button extends LitElement {
    static styles: import("lit").CSSResultGroup[];
    /** @ignore */
    static shadowRootOptions: {
        delegatesFocus: boolean;
        mode: ShadowRootMode;
        slotAssignment?: SlotAssignmentMode | undefined;
    };
    /**
     * Associate the component with forms.
     * @ignore
     */
    static formAssociated: boolean;
    /**
     * Attached internals for form association.
     * @ignore
     */
    accessor internals: ElementInternals;
    /** ARIA label for the button for accessibility. */
    accessor description: string;
    /** Type for the &lt;button&gt; element. */
    accessor type: BUTTON_TYPES;
    /** Specifies the visual appearance/kind of the button. */
    accessor kind: BUTTON_KINDS;
    /** Converts the button to an &lt;a&gt; tag if specified. */
    accessor href: string;
    /** Specifies the size of the button. */
    accessor size: BUTTON_SIZES;
    /** Specifies the position of the icon relative to any button text. */
    accessor iconPosition: BUTTON_ICON_POSITION;
    /** Determines if the button is disabled.
     * @internal
     */
    accessor iconOnly: boolean;
    /** Determines if the button is disabled. */
    accessor disabled: boolean;
    /** Determines if the button indicates a destructive action. */
    accessor destructive: boolean;
    /** Button value.  */
    accessor value: string;
    /** Button name. */
    accessor name: string;
    /** Button formmethod.  */
    accessor formmethod: any;
    /** Queries default slot nodes.
     * @internal
     */
    accessor _slottedEls: Array<Node>;
    /** Queries icon slot nodes.
     * @internal
     */
    accessor _iconEls: Array<any>;
    /** Queries the .button element.
     * @internal
     */
    accessor _btnEl: any;
    render(): import("lit").TemplateResult<1>;
    private handleClick;
    private _testIconOnly;
    private _handleSlotChange;
    connectedCallback(): void;
    disconnectedCallback(): void;
}
declare global {
    interface HTMLElementTagNameMap {
        'kd-button': Button;
    }
}
//# sourceMappingURL=button.d.ts.map