/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import type { WithBoundArgs } from '@glint/template';
import type Owner from '@ember/owner';
import { HdsFormTagValues } from './types.ts';
import HdsFormHeaderTitle from './header/title';
import HdsFormHeaderDescription from './header/description';
import HdsFormSectionHeader from './section/header';
import HdsFormSectionMultiFieldGroup from './section/multi-field-group/index';
import HdsFormSectionMultiFieldGroupItem from './section/multi-field-group/item';
import HdsFormSeparator from './separator/index';
import HdsFormFooter from './footer/index';
import HdsFormHeader from './header/index';
import HdsFormSection from './section/index';
import type { HdsFormTags } from './types.ts';
export declare const DEFAULT_TAG = HdsFormTagValues.Form;
export declare const AVAILABLE_TAGS: HdsFormTags[];
export interface HdsFormSignature {
    Args: {
        tag?: HdsFormTags;
        sectionMaxWidth?: string;
    };
    Blocks: {
        default: [
            {
                Header?: typeof HdsFormHeader;
                HeaderTitle?: typeof HdsFormHeaderTitle;
                HeaderDescription?: typeof HdsFormHeaderDescription;
                Section?: typeof HdsFormSection;
                SectionHeader?: typeof HdsFormSectionHeader;
                SectionHeaderTitle?: WithBoundArgs<typeof HdsFormHeaderTitle, 'size'>;
                SectionHeaderDescription?: typeof HdsFormHeaderDescription;
                SectionMultiFieldGroup?: typeof HdsFormSectionMultiFieldGroup;
                SectionMultiFieldGroupItem?: typeof HdsFormSectionMultiFieldGroupItem;
                Separator?: typeof HdsFormSeparator;
                Footer?: typeof HdsFormFooter;
            }
        ];
    };
    Element: HTMLFormElement | HTMLDivElement;
}
export default class HdsForm extends Component<HdsFormSignature> {
    tag: HdsFormTags;
    constructor(owner: Owner, args: HdsFormSignature['Args']);
    get sectionMaxWidthStyle(): Record<string, string>;
}
