import { EventEmitter, OnInit, ChangeDetectorRef } from '@angular/core';
import { ActionEntity, ActionParamEntity } from '@memberjunction/core-entities';
import * as i0 from "@angular/core";
interface ActionParamValue {
    param: ActionParamEntity;
    value: any;
    error?: string;
}
interface ActionResult {
    Success: boolean;
    Message?: string;
    ResultCode?: string;
    ResultData?: any;
}
export declare class ActionTestHarnessComponent implements OnInit {
    private cdr;
    action: ActionEntity;
    actionParams: ActionParamEntity[];
    isVisible: boolean;
    visibilityChange: EventEmitter<boolean>;
    paramValues: ActionParamValue[];
    isExecuting: boolean;
    executionResult: ActionResult | null;
    executionError: string | null;
    executionTime: number;
    showRawResult: boolean;
    skipActionLog: boolean;
    constructor(cdr: ChangeDetectorRef);
    ngOnInit(): void;
    private initializeParamValues;
    private getDefaultValue;
    private parseDefaultValue;
    getInputType(param: ActionParamEntity): string;
    onParamValueChange(paramValue: ActionParamValue, event: any): void;
    getParamDisplayValue(paramValue: ActionParamValue): string;
    validateParams(): boolean;
    executeAction(): Promise<void>;
    clearResults(): void;
    resetParams(): void;
    copyResultToClipboard(): void;
    copyResultDataToClipboard(): void;
    getResultIcon(): string;
    getResultColor(): string;
    getOutputParams(): ActionParamEntity[];
    formatResultData(data: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<ActionTestHarnessComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ActionTestHarnessComponent, "mj-action-test-harness", never, { "action": { "alias": "action"; "required": false; }; "actionParams": { "alias": "actionParams"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; }, { "visibilityChange": "visibilityChange"; }, never, never, false, never>;
}
export {};
//# sourceMappingURL=action-test-harness.component.d.ts.map