import type { Ref, ReactNode } from 'react';
import type { ActionsProps } from '../Actions';
import type { BaseProps, ForwardRefForwardPropsComponent, HeadingTag } from '../../types';
import type { AdditionalInfoProps } from '../AdditionalInfo';
export type FieldGroupProps = BaseProps & {
    /** The content of the Field Group. */
    children: ReactNode;
    /** A description of the field group to be displayed above the controls. */
    description?: string;
    /** The display and markup variant to apply to the group. */
    variant?: 'form-group';
    /** A reference to the wrapping element. */
    ref?: Ref<HTMLFieldSetElement>;
} & ({
    /** The name associated with the Field Group. */
    name: string;
    /** Provides a contextual label for the name. */
    contextualLabel?: string;
    /** Select the heading tag for header */
    headingTag?: HeadingTag;
    /** Provides additional info relevant to the field group. */
    additionalInfo?: {
        heading?: AdditionalInfoProps['heading'];
        content: AdditionalInfoProps['children'];
    };
    /** An array of actions to add to the header. */
    actions?: ActionsProps['items'];
    /**
     * Controls the collapsed state of the field group.
     * Passing undefined will render the field group as non-collapsible.
     * @default false
     */
    collapsed?: boolean;
    /**
     * Called when user clicks the toggle button.
     */
    onToggleCollapsed?: () => void;
} | {
    name?: undefined;
    contextualLabel?: never;
    headingTag?: never;
    additionalInfo?: never;
    actions?: never;
    collapsed?: never;
    onToggleCollapsed?: never;
});
export declare const StyledFieldGroupName: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
export declare const StyledFieldHeader: import("styled-components").StyledComponent<ForwardRefForwardPropsComponent<import("../Flex").FlexProps>, import("styled-components").DefaultTheme, {}, never>;
export declare const StyledFieldGroupContent: import("styled-components").StyledComponent<ForwardRefForwardPropsComponent<import("../Grid").GridProps>, import("styled-components").DefaultTheme, {}, never>;
export declare const StyledFieldGroupLegend: import("styled-components").StyledComponent<"legend", import("styled-components").DefaultTheme, Pick<FieldGroupProps, "collapsed">, never>;
export declare const StyledFieldGroup: import("styled-components").StyledComponent<"fieldset", import("styled-components").DefaultTheme, {}, never>;
export declare const StyledGroupContainer: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {
    collapsed?: boolean;
    border?: boolean;
}, never>;
export declare const StyledDescription: import("styled-components").StyledComponent<ForwardRefForwardPropsComponent<import("../HTML").HTMLProps> & {
    getTestIds: (testIdProp?: import("../../types").TestIdProp["testId"]) => import("../../types").TestIdsRecord<readonly []>;
}, import("styled-components").DefaultTheme, {}, never>;
declare const FieldGroup: ForwardRefForwardPropsComponent<FieldGroupProps>;
export default FieldGroup;
//# sourceMappingURL=FieldGroup.d.ts.map