import { JSXSlack } from '../../jsx';
import { ConfirmableProps } from '../composition/Confirm';
import { ActionProps } from './utils';
export interface OverflowItemProps {
    children: JSXSlack.ChildElements;
    /**
     * An external URL to load when clicked menu item.
     *
     * You still have to send an acknowledge response for Slack's event callback
     * even if setting URL to menu item.
     */
    url?: string;
    /**
     * A string value up to 75 characters, for sending to Slack App along with the
     * interaction payload when clicked menu item.
     */
    value?: string;
}
export interface OverflowProps extends ActionProps, ConfirmableProps {
    children: JSXSlack.ChildNodes;
}
/**
 * Define menu item for the overflow menu provided by `<Overflow>`.
 *
 * You should set the plain-text label for the menu item in its children.
 *
 * @return The JSON of the composition object for option suited to overflow menu
 */
export declare const OverflowItem: import("../../jsx-internals").BuiltInComponent<OverflowItemProps>;
/**
 * The interactive component for
 * [the `overflow` element](https://api.slack.com/reference/block-kit/block-elements#overflow).
 *
 * It provides an overflow menu button displayed as "...". User can access to
 * some menu items defined by `<OverflowItem>` in children by click the button.
 *
 * `<Overflow>` must contain 1 to 5 `<OverflowItem>` component(s).
 *
 * @example
 * ```jsx
 * <Blocks>
 *   <Actions>
 *     <Overflow actionId="overflow_menu">
 *       <OverflowItem value="share">Share</OverflowItem>
 *       <OverflowItem value="reply">Reply message</OverflowItem>
 *       <OverflowItem value="open" url="https://example.com/">Open in browser</OverflowItem>
 *     </Overflow>
 *   </Actions>
 * </Blocks>
 * ```
 *
 * @return The partial JSON of a block element for overflow menu
 */
export declare const Overflow: import("../../jsx-internals").BuiltInComponent<OverflowProps>;
