/** @packageDocumentation
 * @module Item
 */
import "./PopupButton.scss";
import * as React from "react";
import { CommonProps, SizeProps } from "@itwin/core-react";
import { BaseItemState } from "../shared/ItemDefBase";
import { ItemProps } from "../shared/ItemProps";
/** Arguments of [[PopupButtonChildrenRenderProp]].
 * @public
 * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
 */
export interface PopupButtonChildrenRenderPropArgs {
    closePanel: () => void;
}
/** Type of [[PopupButtonProps.children]] when used as render prop.
 * @public
 * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
 */
export declare type PopupButtonChildrenRenderProp = (args: PopupButtonChildrenRenderPropArgs) => React.ReactNode;
/** Properties for the [[PopupButton]] React component
 * @public
 * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
 */
export interface PopupButtonProps extends ItemProps, CommonProps {
    children?: React.ReactNode | PopupButtonChildrenRenderProp;
    onExpanded?: (expand: boolean) => void;
    onSizeKnown?: (size: SizeProps) => void;
    noPadding?: boolean;
}
/**
 * Used to provide custom popup button in toolbar.
 * @public
 * @deprecated in 2.x. Use PopupItem in ToolbarWithOverflow or popupPanelNode in CustomItemDef
 */
export declare class PopupButton extends React.Component<PopupButtonProps, BaseItemState> {
    private _label;
    private _componentUnmounting;
    private _closeOnPanelOpened;
    private _ref;
    private _isMounted;
    constructor(props: PopupButtonProps);
    get label(): string;
    /** Minimizes the expandable component. */
    minimize: () => void;
    private _handleSyncUiEvent;
    componentDidMount(): void;
    componentWillUnmount(): void;
    private _handleToolPanelOpenedEvent;
    private _handleKeyDown;
    /** Renders PopupButton */
    render(): JSX.Element | null;
    /** Returns expanded content panel */
    private getExpandedContent;
    private _handleClick;
    private _handleOutsideClick;
}
//# sourceMappingURL=PopupButton.d.ts.map