import { TestableLitElement } from '../../utils/components/testable-lit-element/testable-lit-element.ts';
export type NJC_BUTTON_VARIANTS = null | 'primary' | 'secondary' | 'destructive' | 'base';
export type NJC_BUTTON_SIZES = null | 'small' | 'medium' | 'large' | 'xlarge';
declare const NjcButton_base: typeof TestableLitElement;
export declare class NjcButton extends NjcButton_base {
/**
@property variant - The variant of the button
@type {NJC_BUTTON_VARIANTS}
**/
variant: NJC_BUTTON_VARIANTS;
/**
@property size - The size of the button
@type {NJC_BUTTON_SIZES}
**/
size: NJC_BUTTON_SIZES;
/**
@property ariaLabel - The aria-label of the button
@type {string}
**/
ariaLabel: string;
/**
@property loadingAriaLabel - The aria-label of the button when it's in the loading state
@type {string}
**/
loadingAriaLabel: string;
/**
@property disabled - Disables the button
@type {boolean}
**/
disabled: boolean;
/**
@property loading - If true, shows the loading spinner state
@type {boolean}
**/
loading: boolean;
/**
@property skeleton - If true, shows the skeleton loader state
@type {boolean}
**/
skeleton: boolean;
/**
@property href - When set, the button renders as a real navigable anchor (``) styled as the
button, giving native open-in-new-tab, modifier/middle-click, copy-link and the link
screen-reader role without an outer `` wrapper. When empty, standard `