import { FormArray, ValidatorFn } from '@angular/forms';
import { BaseResourceFormComponent } from 'ng-resource-form-util';
import { StringMap } from '../core/public-api';
import { ValidateRowDuplicateService } from '../core/services/form-row-duplicate/form-row-duplicate.service';
import * as i0 from "@angular/core";
export type KeyValueTuple = [string, string];
export declare class BaseStringMapFormComponent extends BaseResourceFormComponent<StringMap, KeyValueTuple[], FormArray> {
    rowDupService: ValidateRowDuplicateService;
    createForm(): FormArray<import("@angular/forms").FormControl<unknown>>;
    getDefaultFormModel(): KeyValueTuple[];
    adaptResourceModel(resource: StringMap): [string, string][];
    adaptFormModel(formModel: KeyValueTuple[]): {};
    getOnFormArrayResizeFn(): () => FormArray<import("@angular/forms").FormControl<string>>;
    add(index?: number): void;
    remove(index: number): void;
    protected getPreviousKeys(index: number): string[];
    protected getKeyValidators(): ValidatorFn | ValidatorFn[];
    protected getValueValidators(): ValidatorFn | ValidatorFn[];
    protected createNewControl(): FormArray<import("@angular/forms").FormControl<string>>;
    static ɵfac: i0.ɵɵFactoryDeclaration<BaseStringMapFormComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<BaseStringMapFormComponent, never, never, {}, {}, never, never, true, never>;
}
