import { Overlay } from '@angular/cdk/overlay';
import { ChangeDetectorRef, ElementRef, Injector, OnDestroy, OnInit, Renderer2, ViewContainerRef } from '@angular/core';
import { MatButton } from '@angular/material/button';
import { MatSnackBar } from '@angular/material/snack-bar';
import { MatTooltip } from '@angular/material/tooltip';
import { SelectRowService } from '../select-row/select-row.service';
import { TableDataSourceDirective } from '../table-data-source.directive';
import { AbstractTableRowAction } from './abstract-table-row-action';
import { TableRowActionMethod } from './types';
import * as i0 from "@angular/core";
export declare class TableRowHeaderActionDirective<Data extends Record<string, any>> extends AbstractTableRowAction<Data> implements OnInit, OnDestroy {
    private readonly selectRowService;
    readonly isHeader = true;
    private _subscription?;
    constructor(renderer: Renderer2, overlay: Overlay, elementRef: ElementRef, actionMethod: TableRowActionMethod<Data>, cdr: ChangeDetectorRef, vcr: ViewContainerRef, tableDataSourceDirective: TableDataSourceDirective, snackBar: MatSnackBar, matButton: MatButton | null, matTooltip: MatTooltip | null, injector: Injector, selectRowService: SelectRowService<Data> | null);
    ngOnDestroy(): void;
    ngOnInit(): void;
    protected getElementList(): Data[];
    type: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableRowHeaderActionDirective<any>, [null, null, null, null, null, null, null, null, { optional: true; }, { optional: true; }, null, { optional: true; }]>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<TableRowHeaderActionDirective<any>, "button[rxapTableRowHeaderAction]", never, { "errorMessage": { "alias": "errorMessage"; "required": false; }; "successMessage": { "alias": "successMessage"; "required": false; }; "refresh": { "alias": "refresh"; "required": false; }; "color": { "alias": "color"; "required": false; }; "type": { "alias": "rxapTableRowHeaderAction"; "required": true; }; }, {}, never, never, true, never>;
}
