/** @packageDocumentation
 * @module Popup
 */
import "./CardPopup.scss";
import * as React from "react";
import type { CommonToolbarItem, PropertyRecord } from "@itwin/appui-abstract";
import type { RelativePosition } from "@itwin/appui-abstract";
import type { Orientation } from "@itwin/components-react";
import type { RequireAtLeastOne } from "@itwin/core-bentley";
import type { PopupContentType, PopupPropsBase } from "./PopupManager.js";
import type { ToolbarItem } from "../toolbar/ToolbarItem.js";
import { type Placement } from "../utils/Placement.js";
import { WrapperContext } from "../configurableui/ConfigurableUiContent.js";
import type { SizeProps } from "../utils/SizeProps.js";
/** Props for defining a CardPopup editor.
 * @beta */
export type CardPopupProps = Omit<PopupPropsBase, "el"> & {
    content: PopupContentType;
    title: string | PropertyRecord | undefined;
    items: CommonToolbarItem[] | ToolbarItem[] | undefined;
    /** @deprecated in 4.16.0. Not used by the {@link CardPopup} component. */
    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 CardPopupState {
    size: SizeProps;
}
/** Popup component for Input Editor
 * @beta
 */
export declare class CardPopup extends React.PureComponent<CardPopupProps, CardPopupState> {
    /** @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;
}
/** Props defining a Card component
 * @beta */
export interface CardProps {
    content: PopupContentType;
    title: string | PropertyRecord | undefined;
    items?: CommonToolbarItem[] | ToolbarItem[] | undefined;
    onItemExecuted: (item: any) => void;
}
/** Card component
 * @beta */
export declare function Card(props: CardProps): React.JSX.Element;
export {};
//# sourceMappingURL=CardPopup.d.ts.map