import type { NoChildrenProp, WithAttributes, HeadingTag } from '../../types';
import type { ButtonProps } from '../Button';
import type { CountProps } from '../Badges/Count';
export type ExpandCollapseButtonProps = WithAttributes<'button', NoChildrenProp & Pick<ButtonProps, 'compact'> & {
    /** Indicates whether the content is expanded. */
    expanded: boolean;
    /** Callback function triggered when the button is toggled. */
    onToggle: () => void;
    /**
     * Label for the button. Can be a string or an object containing text and a heading tag.
     */
    label?: string | {
        text: string;
        headingTag: HeadingTag;
    };
    /**
     * If true, only the icon is displayed. Tooltip will always show "Expand" or "Collapse".
     * @default false
     */
    iconOnly?: boolean;
    /** Optional count to display next to the label. Only available when iconOnly is false. */
    count?: CountProps['children'] | CountProps;
}>;
export declare const StyledExpandCollapseButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<Omit<Omit<ButtonProps, "ref"> & import("react").RefAttributes<HTMLAnchorElement | HTMLButtonElement> & import("../../types").ForwardProps, "ref"> & {
    ref?: ((instance: HTMLAnchorElement | HTMLButtonElement | null) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<HTMLAnchorElement | HTMLButtonElement> | null | undefined;
}, {
    $iconOnly?: boolean;
    $headingTag?: HeadingTag;
}>> & string & Omit<import("../../types").ForwardRefForwardPropsComponent<ButtonProps>, keyof import("react").Component<any, {}, any>>;
declare const _default: import("react").ForwardRefExoticComponent<Omit<ExpandCollapseButtonProps, "ref"> & import("react").RefAttributes<HTMLButtonElement>>;
export default _default;
//# sourceMappingURL=ExpandCollapseButton.d.ts.map