/** @packageDocumentation
 * @module Base
 */
import type { PanelSide } from "../widget-panels/PanelTypes";
import type { TabState } from "./TabState";
import type { NineZoneState } from "./NineZoneState";
import type { FloatingWidgetState, PopoutWidgetState, WidgetState } from "./WidgetState";
/** @internal */
export interface PanelTabLocation {
    widgetId: WidgetState["id"];
    side: PanelSide;
}
/** @internal */
export interface FloatingTabLocation {
    widgetId: WidgetState["id"];
    floatingWidgetId: FloatingWidgetState["id"];
}
/** @internal */
export interface PopoutTabLocation {
    widgetId: WidgetState["id"];
    popoutWidgetId: PopoutWidgetState["id"];
}
/** @internal */
export type TabLocation = PanelTabLocation | FloatingTabLocation | PopoutTabLocation;
/** @internal */
export declare function isFloatingTabLocation(location: TabLocation): location is FloatingTabLocation;
/** @internal */
export declare function isPopoutTabLocation(location: TabLocation): location is PopoutTabLocation;
/** @internal */
export declare function isPanelTabLocation(location: TabLocation): location is PanelTabLocation;
/** Returns a tab location or `undefined` if tab is not in a widget.
 * @internal
 */
export declare function getTabLocation(state: NineZoneState, id: TabState["id"]): TabLocation | undefined;
//# sourceMappingURL=TabLocation.d.ts.map