import type { FunctionComponent, MouseEvent } from 'react';
import { ButtonProps, TooltipProps } from '@patternfly/react-core';
export interface ActionProps extends Omit<ButtonProps, 'ref'> {
    /** Aria-label for the button */
    ariaLabel?: string;
    /** Aria-label for the button, shown when the button is clicked. */
    clickedAriaLabel?: string;
    /** On-click handler for the button */
    onClick?: ((event: MouseEvent | React.MouseEvent<Element, MouseEvent> | KeyboardEvent) => void) | undefined;
    /** Class name for the button */
    className?: string;
    /** Props to control if the attach button should be disabled */
    isDisabled?: boolean;
    /** Content shown in the tooltip */
    tooltipContent?: string;
    /** Content shown in the tooltip when the button is clicked. */
    clickedTooltipContent?: string;
    /** Props to control the PF Tooltip component */
    tooltipProps?: TooltipProps;
    /** Icon for custom response action */
    icon?: React.ReactNode;
    /** Ref for response action button */
    ref?: React.Ref<HTMLButtonElement>;
    /** Whether content launched by button, such as the feedback form, is expanded */
    'aria-expanded'?: boolean;
    /** Id for content controlled by the button, such as the feedback form */
    'aria-controls'?: string;
}
type ExtendedActionProps = ActionProps & {
    [key: string]: any;
};
export interface ResponseActionProps {
    /** Props for message actions, such as feedback (positive or negative), copy button, share, and listen */
    actions: Record<string, ExtendedActionProps | undefined> & {
        positive?: ActionProps;
        negative?: ActionProps;
        copy?: ActionProps;
        share?: ActionProps;
        download?: ActionProps;
        listen?: ActionProps;
        edit?: ActionProps;
    };
    /** When true, the selected action will persist even when clicking outside the component.
     * When false (default), clicking outside or clicking another action will deselect the current selection. */
    persistActionSelection?: boolean;
}
export declare const ResponseActions: FunctionComponent<ResponseActionProps>;
export default ResponseActions;
