/**
 * Copyright IBM Corp. 2021, 2025
 * SPDX-License-Identifier: MPL-2.0
 */
import Component from '@glimmer/component';
import type { WithBoundArgs } from '@glint/template';
import HdsFormError from '../error/index';
import HdsFormFileInputBase from '../file-input/base';
import HdsFormHelperText from '../helper-text/index';
import HdsFormLabel from '../label/index';
import HdsFormMaskedInputBase from '../masked-input/base';
import HdsFormSelectBase from '../select/base';
import HdsFormSuperSelectMultipleBase from '../super-select/multiple/base';
import HdsFormSuperSelectSingleBase from '../super-select/single/base';
import HdsFormTextareaBase from '../textarea/base';
import HdsFormTextInputBase from '../text-input/base';
import type HdsIntlService from '../../../../services/hds-intl.ts';
export interface HdsFormKeyValueInputsFieldSignature {
    Args: {
        extraAriaDescribedBy?: string;
        id?: string;
        isInvalid?: boolean;
        isOptional?: boolean;
        isRequired?: boolean;
        onInsert?: () => void;
        onRemove?: () => void;
        rowIndex: number;
        width?: string;
    };
    Blocks: {
        default?: [
            {
                Label?: WithBoundArgs<typeof HdsFormLabel, 'contextualClass' | 'controlId' | 'hiddenText' | 'isOptional' | 'isRequired'>;
                HelperText?: WithBoundArgs<typeof HdsFormHelperText, 'contextualClass' | 'controlId' | 'onInsert'>;
                FileInput?: WithBoundArgs<typeof HdsFormFileInputBase, 'ariaDescribedBy' | 'id'>;
                MaskedInput?: WithBoundArgs<typeof HdsFormMaskedInputBase, 'ariaDescribedBy' | 'id' | 'isInvalid'>;
                Select?: WithBoundArgs<typeof HdsFormSelectBase, 'ariaDescribedBy' | 'id' | 'isInvalid'>;
                SuperSelectSingle?: WithBoundArgs<typeof HdsFormSuperSelectSingleBase, 'ariaDescribedBy' | 'ariaLabelledBy' | 'isInvalid' | 'triggerId'>;
                SuperSelectMultiple?: WithBoundArgs<typeof HdsFormSuperSelectMultipleBase, 'ariaDescribedBy' | 'ariaLabelledBy' | 'isInvalid' | 'triggerId'>;
                TextInput?: WithBoundArgs<typeof HdsFormTextInputBase, 'ariaDescribedBy' | 'id' | 'isInvalid'>;
                Textarea?: WithBoundArgs<typeof HdsFormTextareaBase, 'ariaDescribedBy' | 'id' | 'isInvalid'>;
                Error?: WithBoundArgs<typeof HdsFormError, 'contextualClass' | 'controlId' | 'onInsert' | 'onRemove'>;
            }
        ];
    };
    Element: HTMLDivElement;
}
export default class HdsFormKeyValueInputsField extends Component<HdsFormKeyValueInputsFieldSignature> {
    readonly hdsIntl: HdsIntlService;
    private _onInsert;
    get id(): string;
    get labelHiddenText(): string;
    get labelIdPrefix(): string;
    appendDescriptor: (element: HTMLElement) => void;
    removeDescriptor: (element: HTMLElement) => void;
}
