/** @packageDocumentation
 * @module ToolSettings
 */
import * as React from "react";
import { PointProps } from "@itwin/appui-abstract";
import { CommonProps, RectangleProps } from "@itwin/core-react";
import { WidgetZoneId, ZoneManagerProps, ZoneTargetType } from "@itwin/appui-layout-react";
import { TargetChangeHandler, WidgetChangeHandler } from "../../frontstage/FrontstageComposer";
/** State for the ToolSettingsZone content.
 */
declare enum ToolSettingsZoneContent {
    Closed = 0,
    ToolSettings = 1
}
/** State for the [[ToolSettingsZone]].
 */
interface ToolSettingsZoneState {
    toolSettingsZoneContent: ToolSettingsZoneContent;
    title: string;
}
/** Properties for the [[ToolSettingsZone]] React component.
 * @internal
 */
export interface ToolSettingsZoneProps extends CommonProps {
    dropTarget: ZoneTargetType | undefined;
    getWidgetContentRef: (id: WidgetZoneId) => React.Ref<HTMLDivElement>;
    isHidden: boolean;
    isClosed: boolean;
    lastPosition: PointProps | undefined;
    targetChangeHandler: TargetChangeHandler;
    targetedBounds: RectangleProps | undefined;
    widgetChangeHandler: WidgetChangeHandler;
    zone: ZoneManagerProps;
}
/** Tool Settings Zone React component.
 * @internal
 */
export declare class ToolSettingsZone extends React.PureComponent<ToolSettingsZoneProps, ToolSettingsZoneState> {
    private _hiddenVisibility;
    private _widget;
    /** @internal */
    readonly state: Readonly<ToolSettingsZoneState>;
    constructor(props: ToolSettingsZoneProps);
    private _handleToolActivatedEvent;
    componentDidMount(): void;
    componentWillUnmount(): void;
    render(): React.ReactNode;
    private _processClick;
    private getToolSettingsWidget;
    private _handleDragStart;
    private _handleResize;
}
export {};
//# sourceMappingURL=ToolSettingsZone.d.ts.map