/**
 * @license
 * Copyright 2023 Tyler Technologies, Inc. 
 * License: Apache-2.0
 */
import { BackdropAppearance } from '../backdrop';
import { BaseAdapter, IBaseAdapter } from '../core/base/base-adapter';
import { IBusyIndicatorComponent } from './busy-indicator';
export interface IBusyIndicatorAdapter extends IBaseAdapter {
    setContainerInvisible(): void;
    setSurfaceOpacity: (opacity: number) => void;
    setFixed(value: boolean): void;
    setTitle: (title: string) => void;
    setMessage: (message: string) => void;
    setTitleVisibility: (visible: boolean) => void;
    setMessageVisibility: (visible: boolean) => void;
    setCancelButtonVisibility: (visible: boolean) => void;
    setSpinnerVisibility: (visible: boolean) => void;
    setProgressBarVisibility: (visible: boolean) => void;
    setProgressBarDeterminate: (determinate: boolean) => void;
    setProgressBarProgress: (value: number) => void;
    setProgressBarBuffer: (value: number) => void;
    addCancelButtonEventListener: (type: string, listener: () => void) => void;
    removeCancelButtonEventListener: (type: string, listener: () => void) => void;
    setCancelButtonAttribute: (name: string, value: string) => void;
    setCancelButtonText: (text: string) => void;
    setSurfaceWidth: (value: string) => void;
    captureFocus: () => void;
    remove: () => void;
    hideBackdrop: () => void;
    setBackdropAppearance(appearance: BackdropAppearance): void;
    setParentAttribute(name: string, value: string): void;
    removeParentAttribute(name: string): void;
    getFocusedElement(): HTMLElement;
    hasFocus(): boolean;
}
/**
 * Provides facilities for interacting with the internal DOM of `BusyIndicatorComponent`.
 */
export declare class BusyIndicatorAdapter extends BaseAdapter<IBusyIndicatorComponent> implements IBusyIndicatorAdapter {
    private _surfaceElement;
    private _titleElement;
    private _titlePlaceholderElement;
    private _messageElement;
    private _messagePlaceholderElement;
    private _cancelButtonElement;
    private _cancelButtonPlaceholderElement;
    private _spinnerElement;
    private _spinnerPlaceholderElement;
    private _progressBarContainerElement;
    private _progressBarContainerPlaceholderElement;
    private _progressBarElement;
    private _backdropElement;
    private _parentElement;
    constructor(component: IBusyIndicatorComponent);
    /**
     * Sets the opacity of the content element.
     * @param opacity The opacity value.
     */
    setSurfaceOpacity(opacity: number): void;
    setFixed(value: boolean): void;
    /**
     * Sets the content of the title element.
     * @param title The title text.
     */
    setTitle(title: string): void;
    /**
     * Sets the content of the message element.
     * @param message The message text.
     */
    setMessage(message: string): void;
    /**
     * Sets the visibility of the title element by adding or removing it from the DOM.
     * @param visible Whether the title is visible or not.
     */
    setTitleVisibility(visible: boolean): void;
    /**
     * Adds or removes the cancel button from the DOM.
     * @param visible The visibility value.
     */
    setCancelButtonVisibility(visible: boolean): void;
    /**
     * Adds or removes the message element from the DOM.
     * @param visible The visibility value.
     */
    setMessageVisibility(visible: boolean): void;
    /**
     * Adds or removes the spinner element from the DOM.
     * @param visible The visibility value.
     */
    setSpinnerVisibility(visible: boolean): void;
    /**
     * Adds or removes the progress bar element from the DOM.
     * @param visible The visibility value.
     */
    setProgressBarVisibility(visible: boolean): void;
    /**
     * Sets the determinate state of the progress bar component.
     * @param {boolean} determinate The determinate value.
     */
    setProgressBarDeterminate(determinate: boolean): void;
    /**
     * Sets the progress percent for the progress bar component.
     * @param value The progress percent.
     */
    setProgressBarProgress(value: number): void;
    /**
     * Sets the progress bar component buffer percent.
     * @param value The buffer percent.
     */
    setProgressBarBuffer(value: number): void;
    /**
     * Adds an event listener to the cancel button.
     * @param type The event type.
     * @param listener The event listener.
     */
    addCancelButtonEventListener(type: string, listener: () => void): void;
    /**
     * Removes an event listener from the cancel button.
     * @param type The event type.
     * @param listener The event listener.
     */
    removeCancelButtonEventListener(type: string, listener: () => void): void;
    /**
     * Sets an attribute on the cancel button.
     * @param name The attribute name.
     * @param value The attribute value.
     */
    setCancelButtonAttribute(name: string, value: string): void;
    /**
     * Sets the text displayed in the cancel button element.
     * @param text The text value.
     */
    setCancelButtonText(text: string): void;
    /**
     * Sets the width of the surface element.
     * @param value The CSS width.
     */
    setSurfaceWidth(value: string): void;
    /**
     * Sets focus to the busy indicator component element.
     */
    captureFocus(): void;
    /**
     * Removes the busy indicator component from its parent.
     */
    remove(): void;
    /**
     * Hides the backdrop by fading it out.
     */
    hideBackdrop(): void;
    private _toggleElement;
    setContainerInvisible(): void;
    setBackdropAppearance(appearance: BackdropAppearance): void;
    setParentAttribute(name: string, value: string): void;
    removeParentAttribute(name: string): void;
    getFocusedElement(): HTMLElement;
    hasFocus(): boolean;
}
