import { EventEmitter, OnDestroy } from '@angular/core';
import { CacFormBuilderComponent } from '../../form-builder';
import { ButtonClickEvent } from '../../../ui';
import { MatMenu, MatMenuTrigger } from '@angular/material/menu';
import { TableFormOptions, TableMenu, TableOptions } from '../table.interfaces';
import { Subject } from 'rxjs';
import * as i0 from "@angular/core";
export declare class CacTableFormMenuComponent implements OnDestroy {
    readonly EDIT_TEXT: string;
    readonly NEW_TEXT: string;
    readonly ADD_TEXT: string;
    menuForm: MatMenu;
    formBuilder?: CacFormBuilderComponent<any>;
    options: TableOptions<any>;
    onClosed: EventEmitter<any>;
    formOptions: import("@angular/core").WritableSignal<TableFormOptions<any> | undefined>;
    showForm: import("@angular/core").WritableSignal<boolean>;
    onAction: Subject<any>;
    onSubmit: Subject<any>;
    private _currentTrigger?;
    private _action?;
    private _sub;
    private _maintainState;
    ngOnDestroy(): void;
    onFormMenuSubmit(e: ButtonClickEvent): void;
    onFormMenuCancel(): void;
    openFormMenu<T, U>(trigger: MatMenuTrigger, options: TableFormOptions<T, U>): TableMenu<any>;
    private openMenu;
    private cleanupMenuForm;
    private destroySubscriptions;
    private closeMenu;
    static ɵfac: i0.ɵɵFactoryDeclaration<CacTableFormMenuComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CacTableFormMenuComponent, "cac-table-form-menu", never, { "options": { "alias": "options"; "required": false; }; }, { "onClosed": "onClosed"; }, never, never, true, never>;
}
