/** @packageDocumentation
 * @module Zone
 */
import * as React from "react";
import { CommonProps, RectangleProps } from "@itwin/core-react";
import { DisabledResizeHandles, DraggedWidgetManagerProps, WidgetManagerProps, WidgetZoneId, ZoneManagerProps, ZoneTargetType } from "@itwin/appui-layout-react";
import { TargetChangeHandler, WidgetChangeHandler } from "../frontstage/FrontstageComposer";
import { WidgetTabs } from "../widgets/WidgetStack";
/** Properties for the [[FrameworkZone]] component.
 * @internal
 */
export interface FrameworkZoneProps extends CommonProps {
    activeTabIndex: number;
    disabledResizeHandles: DisabledResizeHandles | undefined;
    draggedWidget: DraggedWidgetManagerProps | undefined;
    dropTarget: ZoneTargetType | undefined;
    fillZone?: boolean;
    getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;
    isHidden: boolean;
    isInFooterMode: boolean;
    openWidgetId: WidgetZoneId | undefined;
    targetChangeHandler: TargetChangeHandler;
    targetedBounds?: RectangleProps;
    widget: WidgetManagerProps | undefined;
    widgetElement: React.ReactNode;
    widgetChangeHandler: WidgetChangeHandler;
    widgetTabs: WidgetTabs;
    zone: ZoneManagerProps;
}
/** FrameworkZone React component.
 * @internal
 */
export declare class FrameworkZone extends React.PureComponent<FrameworkZoneProps> {
    render(): React.ReactNode;
    private _getWidget;
}
/** @internal */
export declare const getFloatingZoneBounds: (props: ZoneManagerProps) => RectangleProps;
/** @internal */
export declare const getFloatingZoneStyle: (props: ZoneManagerProps) => {
    zIndex: number;
    position: "relative";
} | undefined;
//# sourceMappingURL=FrameworkZone.d.ts.map