/** @packageDocumentation
 * @module Popup
 */
import * as React from "react";
import type { RelativePosition } from "@itwin/appui-abstract";
import type { RequireAtLeastOne } from "@itwin/core-bentley";
import type { Orientation } from "@itwin/components-react";
import type { PopupPropsBase } from "./PopupManager.js";
import type { ToolbarItem } from "../toolbar/ToolbarItem.js";
import { WrapperContext } from "../configurableui/ConfigurableUiContent.js";
import { type Placement } from "../utils/Placement.js";
import type { SizeProps } from "../utils/SizeProps.js";
/** Props for a popup toolbar
 * @beta
 */
export type ToolbarPopupProps = Omit<PopupPropsBase, "el"> & {
    items: ToolbarItem[];
    orientation: Orientation;
    onCancel: () => void;
    onItemExecuted: (item: any) => void;
    el?: HTMLElement;
} & RequireAtLeastOne<{
    /** @deprecated in 4.16.0. Use `placement` property instead. */
    relativePosition: RelativePosition;
    placement: Placement;
}>;
interface ToolbarPopupState {
    size: SizeProps;
}
/** Popup component for Toolbar
 * @beta
 */
export declare class ToolbarPopup extends React.PureComponent<ToolbarPopupProps, ToolbarPopupState> {
    /** @internal */
    static contextType: React.Context<HTMLElement>;
    /** @internal */
    context: React.ContextType<typeof WrapperContext>;
    readonly state: {
        size: {
            width: number;
            height: number;
        };
    };
    private _onSizeKnown;
    private _handleKeyDown;
    private _cancel;
    render(): React.JSX.Element;
}
export {};
//# sourceMappingURL=ToolbarPopup.d.ts.map