import { LitElement, PropertyValues } from 'lit';
import '../link';
type ButtonVariant = 'primary' | 'secondary' | 'negative' | 'utility' | 'pill' | 'link';
type ButtonType = 'button' | 'submit' | 'reset';
declare const WarpButton_base: import("@open-wc/form-control").Constructor<import("@open-wc/form-control").FormControlInterface> & typeof LitElement;
/**
 * Buttons are used to perform actions, widh different visuals for different needs.
 *
 * [See Storybook for usage examples](https://warp-ds.github.io/elements/?path=/docs/buttons-button--docs)
 */
declare class WarpButton extends WarpButton_base {
    #private;
    static shadowRootOptions: {
        delegatesFocus: boolean;
        mode: ShadowRootMode;
        serializable?: boolean;
        slotAssignment?: SlotAssignmentMode;
    };
    type: ButtonType;
    autofocus: boolean;
    variant: ButtonVariant;
    /**
     * @type {boolean}
     */
    quiet: boolean;
    small: boolean;
    loading: boolean;
    href: string;
    target: string;
    rel: string;
    fullWidth: boolean;
    buttonClass: string;
    name: string;
    value: string;
    /** @internal */
    ariaValueTextLoading: string;
    static styles: import("lit").CSSResult[];
    updated(changedProperties: PropertyValues<this>): void;
    constructor();
    connectedCallback(): void;
    firstUpdated(): void;
    /** @internal */
    get _primaryClasses(): string[];
    /** @internal */
    get _secondaryClasses(): string[];
    /** @internal */
    get _utilityClasses(): string[];
    /** @internal */
    get _negativeClasses(): string[];
    /** @internal */
    get _pillClasses(): string[];
    /** @internal */
    get _linkClasses(): string[];
    /** @internal */
    get _classes(): string;
    /** @internal */
    _handleButtonClick(): void;
    resetFormControl(): void;
    render(): import("lit").TemplateResult<1>;
}
export { WarpButton };
