import { Action, BoxButtons, BusyIndicatorEventMap, Event, GlassPaneRenderer, InitModelOf, KeyStrokeContext, Widget, WidgetModel } from '../index';
export interface BusyIndicatorModel extends WidgetModel {
    /**
     * Specifies if the {@link BusyIndicator} is cancellable.
     *
     * If true, a cancel button is visible and the 'cancel' event may be fired on click.
     *
     * Default is true.
     */
    cancellable?: boolean;
    /**
     * The time in milliseconds from the moment the {@link BusyIndicator} is rendered until the popup becomes visible.
     * Before this timeout the glasspanes are rendered and the cursors is displayed as busy.
     * As soon as the timeout elapsed, the busy indicator popup is shown as well.
     * Only after the popup is shown it is possible to cancel the indicator.
     *
     * Default is 2.5s.
     */
    showTimeout?: number;
    /**
     * The text to show in the busy indicator popup.
     *
     * Default is 'Please wait'.
     */
    label?: string;
    /**
     * An additional text shown in the busy indicator popup below the label.
     *
     * Default is no details text.
     */
    details?: string;
}
export declare class BusyIndicator extends Widget implements BusyIndicatorModel {
    model: BusyIndicatorModel;
    eventMap: BusyIndicatorEventMap;
    self: BusyIndicator;
    cancellable: boolean;
    showTimeout: number;
    label: string;
    details: string;
    cancelButton: Action;
    boxButtons: BoxButtons;
    protected _glassPaneRenderer: GlassPaneRenderer;
    $content: JQuery;
    $buttons: JQuery;
    $label: JQuery;
    $details: JQuery;
    protected _busyIndicatorTimeoutId: number;
    constructor();
    protected _createKeyStrokeContext(): KeyStrokeContext;
    protected _initKeyStrokeContext(): void;
    protected _init(model: InitModelOf<this>): void;
    render($parent?: JQuery): void;
    protected _render(): void;
    protected _postRender(): void;
    protected _remove(): void;
    /** @see BusyIndicatorModel.label */
    setLabel(label: string): void;
    protected _renderLabel(): void;
    /** @see BusyIndicatorModel.details */
    setDetails(details: string): void;
    protected _renderDetails(): void;
    protected _position(): void;
    /**
     * Used by CloseKeyStroke
     */
    close(): void;
    protected _onCancelClick(event: Event): void;
    /**
     * Sets the busy indicator into cancelled state.
     */
    cancelled(): void;
}
//# sourceMappingURL=BusyIndicator.d.ts.map