/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BaseAdapter, IBaseAdapter } from '../core';
import { ForgeRippleCapableSurface } from '../ripple';
import { IButtonAreaComponent } from './button-area';
export interface IButtonAreaAdapter extends IBaseAdapter {
    destroy(): void;
    setDisabled(value: boolean): void;
    addListener(type: string, listener: (event: Event) => void): void;
    removeListener(type: string, listener: (event: Event) => void): void;
    addSlotChangeListener(listener: () => void): void;
    removeSlotChangeListener(listener: () => void): void;
    startButtonObserver(callback: MutationCallback): void;
    stopButtonObserver(): void;
    detectSlottedButton(): void;
    buttonIsDisabled(): boolean;
    requestDisabledButtonFrame(): void;
    createRipple(): Promise<void>;
}
export declare class ButtonAreaAdapter extends BaseAdapter<IButtonAreaComponent> implements IButtonAreaAdapter, ForgeRippleCapableSurface {
    private _rootElement;
    private _buttonSlotElement;
    private _buttonElement?;
    private _rippleInstance?;
    private _buttonObserver?;
    private _destroyUserInteractionListener;
    constructor(component: IButtonAreaComponent);
    get root(): HTMLElement;
    get unbounded(): boolean | undefined;
    get disabled(): boolean | undefined;
    destroy(): void;
    setDisabled(value: boolean): void;
    addListener(type: string, listener: (event: Event) => void): void;
    removeListener(type: string, listener: (event: Event) => void): void;
    addSlotChangeListener(listener: () => void): void;
    removeSlotChangeListener(listener: () => void): void;
    startButtonObserver(callback: MutationCallback): void;
    stopButtonObserver(): void;
    detectSlottedButton(): void;
    buttonIsDisabled(): boolean;
    requestDisabledButtonFrame(): void;
    createRipple(): Promise<void>;
    private _isRootEvent;
}
