import { OnInit, ElementRef, EventEmitter, SimpleChanges } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
/**
 * 按钮组件 - 主色调按钮、副色调按钮、取消按钮、可设置宽度按钮、上传文件按钮等
 *
 * <example-url>https://stackblitz.com/edit/np-button-sample?embed=1&file=src/app/app.component.html</example-url>
 */
export declare class NpButton implements OnInit, ControlValueAccessor {
    private onChange;
    inputDom: HTMLInputElement;
    npButton: ElementRef<HTMLElement>;
    /**按钮类型
     *
     * primary - 主色调按钮，即Pluto色；secondary - 副色调按钮；cancel - 取消按钮；search - 搜索按钮
     */
    buttonType: 'primary' | 'secondary' | 'cancel' | 'search';
    /**
     * 按钮宽度大小 - large - 300px；default - 180px；small - 80px。
     */
    buttonSize: 'large' | 'default' | 'small';
    /**
     * 继承父宽度 - `<np-button buttonBlock>继承父宽度</np-button>`
     */
    buttonBlock: any;
    /**是否禁用按钮。 */
    isDisabled: boolean;
    /**按钮功能类型 - normal - 默认类型；upload - 即为上传文件类型按钮。
     */
    funcType: 'normal' | 'upload';
    /**上传文件类型， 如：[uploadFileType]="'jpg|png|jpeg'"。
     *
     * 特别说明一下格式，因为采用正则匹配，所以传入格式为'xlsx|xls'，用|隔开。
     */
    uploadFileType: string;
    /**二进制文件。 */
    file: any;
    /**文件改变触发事件， 即双向绑定。 */
    fileChange: EventEmitter<any>;
    /**上传文件出错消息事件。 */
    uploadErrorMessage: EventEmitter<string>;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    upload(): void;
    writeValue(obj: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
}
