import { EventEmitter, OnChanges, OnDestroy, OnInit, TemplateRef } from '@angular/core';
import { FormOutput, MultiInputFormsValues, MultiInputFormValue, MultiInputType } from '../../models';
import { BehaviorSubject, Observable } from 'rxjs';
import { IconService } from 'carbon-components-angular';
import * as i0 from "@angular/core";
export declare class MultiInputFormComponent implements OnInit, OnChanges, OnDestroy {
    private readonly iconService;
    name: string;
    title: string;
    titleTranslationKey: string;
    type: MultiInputType;
    initialAmountOfRows: number;
    minimumAmountOfRows: number;
    maxRows: any;
    addRowText: string;
    addRowTranslationKey: string;
    deleteRowText: string;
    deleteRowTranslationKey: string;
    disabled: boolean;
    defaultValues: Array<FormOutput>;
    margin: boolean;
    tooltip: string;
    required: boolean;
    formTemplate: TemplateRef<any>;
    valueChange: EventEmitter<Array<FormOutput>>;
    deleteRowEvent: EventEmitter<string>;
    readonly values$: BehaviorSubject<MultiInputFormsValues>;
    readonly mappedValues$: Observable<Array<FormOutput>>;
    readonly addRowEnabled$: Observable<boolean>;
    initialDefaultValues$: BehaviorSubject<MultiInputFormsValues>;
    private valuesSubscription;
    constructor(iconService: IconService);
    ngOnInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    addRow(): void;
    deleteRow(uuid: string): void;
    toggleRow(uuid: string, expanded: boolean): void;
    expandRow(uuid: string): void;
    collapseRow(uuid: string): void;
    trackByFn(index: number, value: MultiInputFormValue): string;
    formValueChange: (newValue: FormOutput, rowUuid: string) => void;
    getFirstValue(rowValue: MultiInputFormValue): string;
    private getInitialRows;
    private getEmptyValue;
    private openValuesSubscription;
    static ɵfac: i0.ɵɵFactoryDeclaration<MultiInputFormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MultiInputFormComponent, "v-multi-input-form", never, { "name": { "alias": "name"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleTranslationKey": { "alias": "titleTranslationKey"; "required": false; }; "type": { "alias": "type"; "required": false; }; "initialAmountOfRows": { "alias": "initialAmountOfRows"; "required": false; }; "minimumAmountOfRows": { "alias": "minimumAmountOfRows"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "addRowText": { "alias": "addRowText"; "required": false; }; "addRowTranslationKey": { "alias": "addRowTranslationKey"; "required": false; }; "deleteRowText": { "alias": "deleteRowText"; "required": false; }; "deleteRowTranslationKey": { "alias": "deleteRowTranslationKey"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "defaultValues": { "alias": "defaultValues"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "required": { "alias": "required"; "required": false; }; "formTemplate": { "alias": "formTemplate"; "required": false; }; }, { "valueChange": "valueChange"; "deleteRowEvent": "deleteRowEvent"; }, never, never, false, never>;
}
//# sourceMappingURL=multi-input-form.component.d.ts.map