import { EventEmitter } from '@angular/core';
import { ButtonEmphasis, ButtonSize, ButtonVariant } from './button.model';
import * as i0 from "@angular/core";
export declare class ButtonComponent {
    /**
     * @ignore
     */
    private readonly buttonClassName;
    /**
     * Type of the button. Some values may be submit, reset...
     */
    type: string;
    /**
     * Whether button is disabled or not
     */
    isDisabled?: boolean;
    /**
     * Whether button is loading or not
     */
    isLoading?: boolean;
    /**
     * Tab index, allows you to customize keyboard navigation
     */
    tabIndex?: number;
    /**
     * Button emphasis
     */
    emphasis: ButtonEmphasis;
    /**
     * Button variant theme
     */
    variant: ButtonVariant;
    /**
     * Button size
     */
    size?: ButtonSize;
    /**
     * Whether button has custom icon
     */
    hasCustomIcon: boolean;
    /**
     * Button material icon
     */
    icon?: string;
    /**
     * Text alternative for assistive technologies
     * @see https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Attributes/aria-label
     */
    ariaLabel?: string;
    /**
     * Button click output. Emits a MouseEvent
     */
    buttonClick: EventEmitter<MouseEvent>;
    /**
     * @ignore
     */
    getButtonEmphasisClass(): string;
    /**
     * @ignore
     */
    getButtonVariantClass(): string;
    protected getButtonSizeClass(): string;
    /**
     * @ignore
     */
    getButtonIsLoadingClass(): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "nj-button", never, { "type": { "alias": "type"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "isLoading": { "alias": "isLoading"; "required": false; }; "tabIndex": { "alias": "tabIndex"; "required": false; }; "emphasis": { "alias": "emphasis"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "hasCustomIcon": { "alias": "hasCustomIcon"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; }, { "buttonClick": "buttonClick"; }, never, ["[custom-icon]", "*"], true, never>;
}
