import { InputSize } from '../../shared/types';
export type ButtonVariant = 'primary' | 'secondary' | 'landing' | 'text' | 'nav-button' | 'nav-text' | 'link' | 'success' | 'danger' | 'warning';
export type ButtonType = 'submit' | 'reset' | 'button';
export type LinkTarget = '_blank' | '_self' | '_parent' | '_top';
declare const LuksoButton_base: import('@lukso/core').ThemeMixinConstructor<typeof import('lit').LitElement>;
export declare class LuksoButton extends LuksoButton_base {
    variant: ButtonVariant;
    size: InputSize;
    disabled: boolean;
    isFullWidth: boolean;
    isLongPress: boolean;
    isLink: boolean;
    isLoading: boolean;
    type: ButtonType;
    href: string;
    target: LinkTarget;
    rel: string;
    loadingText: string;
    customClass: string;
    isActive: boolean;
    count: string;
    isIcon: boolean;
    label: string;
    private isPressed;
    private noTransition;
    private timer;
    private counterStyles;
    private buttonStyles;
    private loadingStyles;
    private handleMouseDown;
    private handleMouseUp;
    loadingTemplate(): import('lit-html').TemplateResult<1>;
    counterTemplate(): import('lit-html').TemplateResult<1>;
    buttonTemplate(): import('lit-html').TemplateResult<1>;
    linkTemplate(): import('lit-html').TemplateResult<1>;
    render(): import('lit-html').TemplateResult<1>;
}
declare global {
    interface HTMLElementTagNameMap {
        'lukso-button': LuksoButton;
    }
}
export {};
//# sourceMappingURL=index.d.ts.map