import React from 'react';
import type { JSX } from 'react';
import type { CodeBlockItems } from '../../components/CodeBlock/CodeBlock';
export type CodeBlockControlsProps = {
    children?: React.ReactNode;
    className?: string;
    title?: React.ReactNode | string;
    controls?: ControlItems | false;
    tabs?: CodeBlockItems;
    dropdown?: CodeBlockItems;
};
type ControlItems = {
    copy?: CopyControlProps;
    expand?: ControlProps;
    collapse?: ControlProps;
    report?: ControlProps;
    select?: ControlProps;
    deselect?: ControlProps;
};
type ControlProps = {
    hidden?: boolean;
    label?: string;
    tooltipText?: string;
    onClick?: () => void;
    props?: Record<string, any>;
};
type CopyControlProps = ControlProps & {
    data?: string;
    dataSource?: string;
    dataHash?: string;
    toasterPlacement?: 'left' | 'right' | 'top' | 'bottom';
    toasterText?: string;
    toasterDuration?: number;
    handleOutside?: boolean;
};
export type ControlItemType = 'text' | 'icon';
export declare function CodeBlockControls({ children, className, title, controls, tabs, dropdown, }: CodeBlockControlsProps): JSX.Element | null;
export {};
