import { OnInit, ElementRef, SimpleChanges, EventEmitter } from '@angular/core';
import { AbstractI18NApplicable } from '../../../../../share/AbstractI18NApplicable';
import { NeedFocusService } from '../../../../../service/NeedFocusService.service';
import { IHasData } from '../../../../../component/IHasData';
import { INeedFocus } from '../../../../../component/INeedFocus';
export declare class MaterialButton extends AbstractI18NApplicable implements OnInit, IHasData, INeedFocus {
    protected elementRef: ElementRef;
    protected needFocusService: NeedFocusService;
    static readonly TYPE_NAME: string;
    protected beforeClickEvent: EventEmitter<any>;
    protected clickEvent: EventEmitter<any>;
    protected beforeFocusEvent: EventEmitter<any>;
    protected focusEvent: EventEmitter<any>;
    protected beforeLostFocusEvent: EventEmitter<any>;
    protected lostFocusEvent: EventEmitter<any>;
    protected dataParent: IHasData;
    protected disableRipple: boolean;
    protected disabled: boolean;
    protected color: string;
    protected type: string;
    protected styleClass: string | string[];
    protected name: string;
    protected icon: string;
    protected label: string;
    constructor(elementRef: ElementRef, needFocusService: NeedFocusService);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    setStyleClass(styleClass: string | string[]): void;
    getStyleClass(): string | string[];
    isDisable(): boolean;
    setDisable(disable: boolean): void;
    isDisableRipple(): boolean;
    setDisableRipple(disableRipple: boolean): void;
    setType(type: string): void;
    getType(): string;
    getColor(): string;
    setColor(color: string): void;
    getLabel(): string;
    setLabel(label: string): void;
    getButtonIcon(): string;
    setButtonIcon(buttonIcon: string): void;
    onClick($event: any, fireEvent?: boolean): void;
    protected emitBeforeClickEvent($event?: any): void;
    protected emitClickEvent($event?: any): void;
    getI18NKey(): string;
    onFocusing($event: Event): void;
    onLostFocusing($event: Event): void;
    protected doFocus($event: Event): void;
    protected doLostFocus($event: Event): void;
    protected initEventHandlers(): void;
    protected emitBeforeFocusEvent($event?: any): void;
    protected emitBeforeLostFocusEvent($event?: any): void;
    private emitLostFocusEvent($event);
    private emitFocusEvent($event);
    onLostFocus($event: any, fireEvent?: boolean): void;
    onFocus($event: any, fireEvent?: boolean): void;
    getData(): void;
    setData(data: any): void;
    addDataChild(child: IHasData): void;
    removeDataChild(child: IHasData): void;
    setDataParent(dataParent: IHasData): void;
    getDataParent(): IHasData;
    getDataChildren(): IHasData[];
    isDataDirty(): boolean;
    isIgnoreParentData(): boolean;
    setIgnoreParentData(ignore: boolean): void;
    saveData(data?: any): void;
    resetData(): void;
    getBeforeClickEvent(): EventEmitter<any>;
    setBeforeClickEvent(event: EventEmitter<any>): void;
    getClickEvent(): EventEmitter<any>;
    setClickEvent(event: EventEmitter<any>): void;
    getBeforeFocusEvent(): EventEmitter<any>;
    setBeforeFocusEvent(event: EventEmitter<any>): void;
    getFocusEvent(): EventEmitter<any>;
    setFocusEvent(event: EventEmitter<any>): void;
    getBeforeLostFocusEvent(): EventEmitter<any>;
    setBeforeLostFocusEvent(event: EventEmitter<any>): void;
    getLostFocusEvent(): EventEmitter<any>;
    setLostFocusEvent(event: EventEmitter<any>): void;
}
