import { ChangeDetectorRef } from '@angular/core';
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
import { TitledDialogService } from '@anglr/common/material';
import { LayoutEditorMetadataExtractor, PropertiesControl, PropertiesControlBase } from '@anglr/dynamic/layout-editor';
import { MaterialTabGroupComponentOptions } from '../../../tabGroup.options';
import * as i0 from "@angular/core";
/**
 * Component used for displaying material tab group properties control
 */
export declare class MaterialTabGroupPropertiesControlSAComponent extends PropertiesControlBase<MaterialTabGroupComponentOptions> implements PropertiesControl<MaterialTabGroupComponentOptions> {
    protected dialog: TitledDialogService;
    protected fb: FormBuilder;
    /**
     * Tabs control
     */
    protected get tabsControl(): FormArray | null | undefined;
    /**
     * Tabs control form groups
     */
    protected get tabsControls(): FormGroup[] | null | undefined;
    constructor(changeDetector: ChangeDetectorRef, metadataExtractor: LayoutEditorMetadataExtractor, dialog: TitledDialogService, fb: FormBuilder);
    /**
     * Adds new tab to tab group
     */
    protected addTab(): Promise<void>;
    /**
     * Removes tab on specified index in form array
     * @param index Tab index to remove
     */
    protected removeTab(index: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MaterialTabGroupPropertiesControlSAComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MaterialTabGroupPropertiesControlSAComponent, "material-tab-group-properties-control", never, {}, {}, never, never, true, never>;
}
//# sourceMappingURL=tabGroupPropertiesControl.component.d.ts.map