import { Observable, ObservableOptions } from './observable'; import { AudioSound } from '../services/audio.service'; export declare const config: { rootCls: string; visibleCls: string; fxCls: { fade: string; zoom: string; fadeBottom: string; bounceInRight: string; pulse: string; bounce: string; }; }; export interface BaseWidgetEffectsOptions { appear?: 'fade' | 'fadeBottom' | 'zoom' | 'bounceInRight' | null; delay?: number; sound?: AudioSound; attention?: 'pulse' | 'bounce' | null; attentionInterval?: number; } export interface BaseWidgetOptions extends ObservableOptions { visible?: boolean; baseCls?: string; renderTo?: HTMLElement; animationDelay?: number; content?: string | number; effects?: BaseWidgetEffectsOptions; } export type BaseWidgetDisplayMode = 'block' | 'flex'; export declare class BaseWidget extends Observable { private baseCls; private renderTo; private boxElem?; private contentElem?; private content; private destroyed; private displayMode; private effects; private attentionInterval; protected visible: boolean; protected animationDelay: number; constructor(options: BaseWidgetOptions); protected showNode(): void; protected hideNode(): void; protected showAnimateNode(boxElem: HTMLElement): void; protected hideAnimateNode(boxElem: HTMLElement): void; startAttention(): void; stopAttention(): void; isDestroyed(): boolean; isVisible(): boolean; getDisplayMode(): BaseWidgetDisplayMode; getBaseCls(): string | string[]; createNode(): HTMLElement; getBoxElem(): HTMLElement; getContentElem(): HTMLElement; render(renderTo?: HTMLElement): void; isRendered(): boolean; show(): void; hide(): void; addCls(cls: string): void; removeCls(cls: string): void; setContent(content: string | number, safe?: boolean): void; destroy(): void; }