import { EventEmitter, OnInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
import { MJActionCategoryEntity, MJActionEntity } from '@memberjunction/core-entities';
import { NavigationService } from '@memberjunction/ng-shared';
import { ActionExplorerStateService } from '../../services/action-explorer-state.service';
import * as i0 from "@angular/core";
type ActionType = 'Custom' | 'Generated';
export declare class NewActionPanelComponent implements OnInit, OnDestroy {
    StateService: ActionExplorerStateService;
    private navigationService;
    private cdr;
    Categories: MJActionCategoryEntity[];
    PreselectedCategoryId: string | null;
    ActionCreated: EventEmitter<MJActionEntity>;
    Close: EventEmitter<void>;
    IsOpen: boolean;
    IsSaving: boolean;
    Name: string;
    Description: string;
    CategoryID: string | null;
    Type: ActionType;
    Errors: {
        [key: string]: string;
    };
    TypeOptions: Array<{
        value: ActionType;
        label: string;
        icon: string;
        description: string;
    }>;
    private destroy$;
    constructor(StateService: ActionExplorerStateService, navigationService: NavigationService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    private resetForm;
    onClose(): void;
    onBackdropClick(event: MouseEvent): void;
    validate(): boolean;
    onSave(): Promise<void>;
    selectType(type: ActionType): void;
    getCategoryOptions(): Array<{
        text: string;
        value: string;
    }>;
    private getCategoryPath;
    static ɵfac: i0.ɵɵFactoryDeclaration<NewActionPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NewActionPanelComponent, "mj-new-action-panel", never, { "Categories": { "alias": "Categories"; "required": false; }; "PreselectedCategoryId": { "alias": "PreselectedCategoryId"; "required": false; }; }, { "ActionCreated": "ActionCreated"; "Close": "Close"; }, never, never, false, never>;
}
export {};
//# sourceMappingURL=new-action-panel.component.d.ts.map