import ReactEcs from '@dcl/sdk/react-ecs';
export interface UIObjectInterface {
    render(key?: string): ReactEcs.JSX.Element;
    show(): void;
    show(duration?: number): void;
    hide(): void;
    isVisible(): boolean;
}
export type UIObjectConfig = {
    startHidden?: boolean;
};
export declare abstract class UIObject implements UIObjectInterface {
    protected visible: boolean;
    protected constructor({ startHidden }: UIObjectConfig);
    abstract render(key?: string): ReactEcs.JSX.Element;
    show(): void;
    hide(): void;
    isVisible(): boolean;
}
export type DelayedHidingUIObjectConfig = UIObjectConfig & {
    duration?: number;
};
export declare abstract class DelayedHidingUIObject extends UIObject {
    private _timer;
    protected constructor(config: DelayedHidingUIObjectConfig);
    show(duration?: number): void;
    hide(): void;
    private _createAndStartTimer;
    private _clearTimer;
}
