import { EventEmitter, ChangeDetectorRef } from '@angular/core';
import { MJActionCategoryEntity } from '@memberjunction/core-entities';
import { MJActionEntityExtended } from '@memberjunction/actions-base';
import { BaseAngularComponent } from '@memberjunction/ng-base-types';
import * as i0 from "@angular/core";
export interface ActionExecutionStats {
    totalExecutions: number;
    successRate: number;
    lastExecuted: Date | null;
    isLoading: boolean;
    isLoaded: boolean;
}
export declare class ActionCardComponent extends BaseAngularComponent {
    private cdr;
    Action: MJActionEntityExtended;
    Categories: Map<string, MJActionCategoryEntity>;
    ActionClick: EventEmitter<MJActionEntityExtended>;
    EditClick: EventEmitter<MJActionEntityExtended>;
    RunClick: EventEmitter<MJActionEntityExtended>;
    CategoryClick: EventEmitter<string>;
    IsExpanded: boolean;
    ExecutionStats: ActionExecutionStats;
    constructor(cdr: ChangeDetectorRef);
    onCardClick(): void;
    onEditClick(event: MouseEvent): void;
    onRunClick(event: MouseEvent): void;
    onCategoryClick(event: MouseEvent): void;
    toggleExpanded(event: MouseEvent): void;
    private loadExecutionStats;
    getCategoryName(): string;
    getStatusColor(): 'success' | 'warning' | 'error' | 'info';
    getActionIcon(): string;
    getTypeLabel(): string;
    getApprovalStatusIcon(): string;
    getApprovalStatusColor(): string;
    formatDate(date: Date | null): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ActionCardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ActionCardComponent, "mj-action-card", never, { "Action": { "alias": "Action"; "required": false; }; "Categories": { "alias": "Categories"; "required": false; }; }, { "ActionClick": "ActionClick"; "EditClick": "EditClick"; "RunClick": "RunClick"; "CategoryClick": "CategoryClick"; }, never, never, false, never>;
}
//# sourceMappingURL=action-card.component.d.ts.map