import { EventEmitter, Injector, QueryList, TemplateRef } from '@angular/core';
import { AbstractControl } from '@angular/forms';
export interface ArrayFormTableRowContext {
    allowEdit: boolean;
    allowDelete: boolean;
}
export declare const rowBackgroundColorFn: <T extends AbstractControl>({ invalid, }: T) => string;
export declare class ArrayFormTableHeaderDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
}
export declare class ArrayFormTableRowDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
}
export declare class ArrayFormTableZeroStateDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
}
export declare class ArrayFormTableRowControlDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
}
export declare class ArrayFormTableFooterDirective {
    templateRef: TemplateRef<any>;
    constructor(templateRef: TemplateRef<any>);
}
export declare class ArrayFormTableComponent {
    injector: Injector;
    headerTemplate: TemplateRef<any>;
    rowTemplates: QueryList<TemplateRef<any>>;
    /**
     * 表单默认提供删除按键; 假如用户提供模板, 将使用用户的模板
     */
    rowControlTemplate: TemplateRef<any>;
    /**
     * 表单默认提供添加按键; 假如用户提供模板, 将使用用户的模板
     */
    footerTemplate: TemplateRef<any>;
    /**
     * 表单默认为空数据提供无xxx的模板; 假如用户提供模板, 将使用用户的模板
     */
    zeroStateTemplate: TemplateRef<any>;
    rows: any[];
    noRowSeparator: boolean;
    resourceName: string;
    add: EventEmitter<void>;
    remove: EventEmitter<number>;
    readonly: boolean | '';
    addDisabled: boolean | '';
    rowBackgroundColorFn: <T extends AbstractControl>(_row: T, _index?: number) => string;
    minRow: number;
    constructor(injector: Injector);
    getRowBackgroundColor(control: AbstractControl): string;
}
