import { ElementRef, SimpleChanges, AfterViewInit, OnChanges } from '@angular/core';
import { ButtonConfig } from './button.config';
/** default button theme types */
export declare type BUTTON_THEME = 'primary' | 'default' | 'neutral' | 'transparent' | string;
/** default button size types */
export declare type BUTTON_SIZE = 'xs' | 'sm' | 'default' | 'lg' | string;
/**
 * Button Component
 */
export declare class ButtonComponent implements OnChanges, AfterViewInit {
    private _el;
    private _config;
    /**
     * button theme, there are four default themes: 'primary' | 'default' | 'neutral' | 'transparent'
     * @default default
     */
    theme: BUTTON_THEME;
    /**
     * button size, there are four default sizes: 'xs' | 'sm' | 'default' | 'lg'
     * @default default
     */
    size: BUTTON_SIZE;
    /**
     * Whether the button is disabled
     * @default false
     */
    disabled: boolean;
    constructor(_el: ElementRef, _config: ButtonConfig);
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    /**
     * set host element classes
     * @docs-private
     */
    setClass(): void;
    /**
     * get host element classes, depends on the theme and size.
     * @return {string} class names
     * @docs-private
     */
    getClassName(): string;
}
export declare class ButtonAnchorComponent extends ButtonComponent {
    /**
     * prevent link button default navigation event
     *
     * @param {Event} event - click event
     * @docs-private
     */
    _haltDisabledEvents(event: Event): void;
}
