/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseComponentDelegate, IBaseComponentDelegateConfig, IBaseComponentDelegateOptions } from '../core/delegates/base-component-delegate';
import { IButtonComponent } from './button';
export declare type ButtonComponentDelegateProps = Partial<IButtonComponent>;
export interface IButtonComponentDelegateOptions extends IBaseComponentDelegateOptions {
    type?: 'button' | 'submit';
    text?: string;
}
export interface IButtonComponentDelegateConfig extends IBaseComponentDelegateConfig<IButtonComponent, IButtonComponentDelegateOptions> {
}
export declare class ButtonComponentDelegate extends BaseComponentDelegate<IButtonComponent, IButtonComponentDelegateOptions> {
    private _buttonElement?;
    constructor(config?: IButtonComponentDelegateConfig);
    destroy(): void;
    get buttonElement(): HTMLButtonElement | undefined;
    protected _build(): IButtonComponent;
    onClick(listener: (evt: MouseEvent) => void): void;
    onFocus(listener: (evt: Event) => void): void;
    onBlur(listener: (evt: Event) => void): void;
}
