import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { ArbitraryInputTitles, ListItemWithId, MultiInputChangeEventType, MultiInputKeyValue, MultiInputOutput, MultiInputType, MultiInputValues, ValuePathSelectorNotation, ValuePathSelectorPrefix } from '../../models';
import { BehaviorSubject, Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class CarbonMultiInputComponent implements OnInit, OnDestroy {
    addRowText: string;
    addRowTranslationKey: string;
    arbitraryAmountTitles: ArbitraryInputTitles;
    set arbitraryValueAmount(value: number);
    private readonly _defaultValues$;
    set defaultValues(value: MultiInputValues);
    deleteRowText: string;
    deleteRowTranslationKey: string;
    disabled: boolean;
    dropdownColumnTitle: string;
    set dropdownItems(value: Array<ListItemWithId>);
    dropdownWidth: number;
    fullWidth: boolean;
    hideAddButton: boolean;
    hideDeleteButton: boolean;
    initialAmountOfRows: number;
    keyColumnTitle: string;
    margin: boolean;
    maxRows: any;
    minimumAmountOfRows: number;
    name: string;
    required: boolean;
    title: string;
    titleTranslationKey: string;
    tooltip: string;
    type: MultiInputType;
    valueColumnTitle: string;
    readonly valuePathSelectorDocumentDefinitionName = "";
    readonly valuePathSelectorPrefixes: ValuePathSelectorPrefix[];
    readonly valuePathSelectorShowDocumentDefinitionSelector = false;
    readonly valuePathSelectorNotation: ValuePathSelectorNotation;
    readonly keyColumnFlex = 1;
    readonly dropdownColumnFlex = 1;
    readonly valueColumnFlex = 1;
    valueChange: EventEmitter<MultiInputOutput>;
    allValuesValidEvent: EventEmitter<boolean>;
    private _amountOfArbitraryValues;
    readonly amountOfArbitraryValuesArray$: BehaviorSubject<0[]>;
    readonly values$: BehaviorSubject<MultiInputValues>;
    readonly mappedValues$: Observable<MultiInputOutput>;
    readonly addRowEnabled$: Observable<boolean>;
    readonly dropdownItems$: BehaviorSubject<ListItemWithId[]>;
    private readonly _subscriptions;
    ngOnInit(): void;
    ngOnDestroy(): void;
    addRow(): void;
    deleteRow(uuid: string): void;
    trackByFn(_: number, value: MultiInputKeyValue): string;
    getDropdownItemsForRow(index: number): Observable<Array<ListItemWithId>>;
    onValueChange(templateValue: MultiInputKeyValue, inputValue: string, change: MultiInputChangeEventType, arbitraryIndex?: number): void;
    private getInitialRows;
    private getEmptyValue;
    private getMappedValue;
    private openValuesSubscription;
    private getArrayOfXLength;
    private filterAndMapValues;
    private isValueValid;
    private openDefaultValuesSubscription;
    static ɵfac: i0.ɵɵFactoryDeclaration<CarbonMultiInputComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CarbonMultiInputComponent, "valtimo-carbon-multi-input", never, { "addRowText": { "alias": "addRowText"; "required": false; }; "addRowTranslationKey": { "alias": "addRowTranslationKey"; "required": false; }; "arbitraryAmountTitles": { "alias": "arbitraryAmountTitles"; "required": false; }; "arbitraryValueAmount": { "alias": "arbitraryValueAmount"; "required": false; }; "defaultValues": { "alias": "defaultValues"; "required": false; }; "deleteRowText": { "alias": "deleteRowText"; "required": false; }; "deleteRowTranslationKey": { "alias": "deleteRowTranslationKey"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dropdownColumnTitle": { "alias": "dropdownColumnTitle"; "required": false; }; "dropdownItems": { "alias": "dropdownItems"; "required": false; }; "dropdownWidth": { "alias": "dropdownWidth"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "hideAddButton": { "alias": "hideAddButton"; "required": false; }; "hideDeleteButton": { "alias": "hideDeleteButton"; "required": false; }; "initialAmountOfRows": { "alias": "initialAmountOfRows"; "required": false; }; "keyColumnTitle": { "alias": "keyColumnTitle"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "maxRows": { "alias": "maxRows"; "required": false; }; "minimumAmountOfRows": { "alias": "minimumAmountOfRows"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "title": { "alias": "title"; "required": false; }; "titleTranslationKey": { "alias": "titleTranslationKey"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "type": { "alias": "type"; "required": false; }; "valueColumnTitle": { "alias": "valueColumnTitle"; "required": false; }; "valuePathSelectorDocumentDefinitionName": { "alias": "valuePathSelectorDocumentDefinitionName"; "required": false; }; "valuePathSelectorPrefixes": { "alias": "valuePathSelectorPrefixes"; "required": false; }; "valuePathSelectorShowDocumentDefinitionSelector": { "alias": "valuePathSelectorShowDocumentDefinitionSelector"; "required": false; }; "valuePathSelectorNotation": { "alias": "valuePathSelectorNotation"; "required": false; }; "keyColumnFlex": { "alias": "keyColumnFlex"; "required": false; }; "dropdownColumnFlex": { "alias": "dropdownColumnFlex"; "required": false; }; "valueColumnFlex": { "alias": "valueColumnFlex"; "required": false; }; }, { "valueChange": "valueChange"; "allValuesValidEvent": "allValuesValidEvent"; }, never, never, false, never>;
}
//# sourceMappingURL=carbon-multi-input.component.d.ts.map