import { AfterViewInit, ElementRef, OnDestroy, Renderer2 } from '@angular/core';
import { ControlContainer } from '@angular/forms';
import { MatButton } from '@angular/material/button';
import { RxapFormControl, RxapFormGroup } from '@rxap/forms';
import * as i0 from "@angular/core";
export declare abstract class FormArrayItemButton implements AfterViewInit, OnDestroy {
    protected readonly parent: ControlContainer;
    protected readonly matButton: MatButton;
    protected readonly renderer: Renderer2;
    protected readonly elementRef: ElementRef;
    type: string;
    protected formGroup: RxapFormGroup<{
        deleted: boolean;
    }>;
    protected deletedControl: RxapFormControl<boolean>;
    private _controlDisabledSubscription?;
    private _deletedControlValueSubscription?;
    constructor(parent: ControlContainer, matButton: MatButton, renderer: Renderer2, elementRef: ElementRef);
    get disabled(): boolean;
    get isDeleted(): boolean;
    get index(): number;
    protected get isDisabled(): boolean;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    protected abstract onClick(): void;
    protected abstract updateDisplayStyle(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<FormArrayItemButton, [{ skipSelf: true; }, { optional: true; }, null, null]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<FormArrayItemButton, never, never, {}, {}, never, never, false, never>;
}
