/** @packageDocumentation
 * @module Base
 */
import type { PanelSide } from "../widget-panels/PanelTypes.js";
import type { NineZoneState } from "./NineZoneState.js";
import type { FloatingWidgetState, PopoutWidgetState, WidgetState } from "./WidgetState.js";
/** @internal */
export interface PanelWidgetLocation {
    side: PanelSide;
    index: number;
}
/** @internal */
export interface FloatingWidgetLocation {
    floatingWidgetId: FloatingWidgetState["id"];
}
/** @internal */
export interface PopoutWidgetLocation {
    popoutWidgetId: PopoutWidgetState["id"];
}
/** @internal */
export type WidgetLocation = PanelWidgetLocation | FloatingWidgetLocation | PopoutWidgetLocation;
/** @internal */
export declare function isFloatingWidgetLocation(location: WidgetLocation): location is FloatingWidgetLocation;
/** @internal */
export declare function isPopoutWidgetLocation(location: WidgetLocation): location is PopoutWidgetLocation;
/** @internal */
export declare function isPanelWidgetLocation(location: WidgetLocation): location is PanelWidgetLocation;
/** Returns a widget location or `undefined` if widget is not found.
 * @internal
 */
export declare function getWidgetLocation(state: NineZoneState, id: WidgetState["id"]): WidgetLocation | undefined;
//# sourceMappingURL=WidgetLocation.d.ts.map