import { IPublicTypeWidgetBaseConfig } from '@alilc/lowcode-types';
import { WidgetContainer } from './widget/widget-container';
import { ISkeleton } from './skeleton';
import { IWidget } from './widget/widget';
export interface IArea<C, T> {
    isEmpty(): boolean;
    add(config: T | C): T;
    remove(config: T | string): number;
    setVisible(flag: boolean): void;
    hide(): void;
    show(): void;
}
export declare class Area<C extends IPublicTypeWidgetBaseConfig = any, T extends IWidget = IWidget> implements IArea<C, T> {
    readonly skeleton: ISkeleton;
    readonly name: string;
    private exclusive?;
    private _visible;
    get visible(): boolean;
    get current(): T & import("./widget/widget-container").Activeable;
    readonly container: WidgetContainer<T, C>;
    private lastCurrent;
    constructor(skeleton: ISkeleton, name: string, handle: (item: T | C) => T, exclusive?: boolean, defaultSetCurrent?: boolean);
    isEmpty(): boolean;
    add(config: T | C): T;
    remove(config: T | string): number;
    setVisible(flag: boolean): void;
    hide(): void;
    show(): void;
    /**
     * @deprecated
     */
    removeAction(config: string): number;
}
