/** @packageDocumentation
 * @module Widget
 */
import * as React from "react";
import { BeEvent } from "@itwin/core-bentley";
import type { TabState } from "../state/TabState";
/** @internal */
export interface WidgetContentManagerProps {
    children?: React.ReactNode;
}
/** @internal */
export declare function WidgetContentManager(props: WidgetContentManagerProps): React.JSX.Element;
interface ContainersStore {
    containers: {
        readonly [id in TabState["id"]]: Element | undefined;
    };
    setContainer: (tabId: TabState["id"], container: Element | undefined) => void;
}
/** @internal */
export declare const useContainersStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ContainersStore>>;
/** @internal */
export interface WidgetContentManagerContextArgs {
    setContainer(tabId: TabState["id"], container: Element | undefined): void;
    onSaveTransientState: BeEvent<(tabId: TabState["id"]) => void>;
    onRestoreTransientState: BeEvent<(tabId: TabState["id"]) => void>;
}
/** @internal */
export declare const WidgetContentManagerContext: React.Context<WidgetContentManagerContextArgs | undefined>;
export {};
//# sourceMappingURL=ContentManager.d.ts.map