import { OnInit, OnDestroy, ChangeDetectorRef, ElementRef } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { TestEntity, TestRunEntity, TestSuiteTestEntity } from '@memberjunction/core-entities';
import { SharedService } from '@memberjunction/ng-shared';
import { TestFormComponent } from '../../generated/Entities/Test/test.form.component';
import { TestingDialogService } from '@memberjunction/ng-testing';
import * as i0 from "@angular/core";
interface ParsedJSON {
    inputDefinition?: any;
    expectedOutcomes?: any;
    configuration?: any;
    tags?: string[];
}
export declare class TestFormComponentExtended extends TestFormComponent implements OnInit, OnDestroy {
    protected router: Router;
    protected cdr: ChangeDetectorRef;
    private testingDialogService;
    record: TestEntity;
    private destroy$;
    activeTab: string;
    loading: boolean;
    error: string | null;
    testRunsLoaded: boolean;
    suiteTestsLoaded: boolean;
    testRuns: TestRunEntity[];
    suiteTests: TestSuiteTestEntity[];
    parsedData: ParsedJSON;
    activeJsonView: 'input' | 'expected' | 'config' | 'tags';
    constructor(elementRef: ElementRef, sharedService: SharedService, router: Router, route: ActivatedRoute, cdr: ChangeDetectorRef, testingDialogService: TestingDialogService);
    ngOnInit(): Promise<void>;
    ngOnDestroy(): void;
    private loadRelatedData;
    private loadTestRuns;
    private loadSuiteTests;
    private parseJsonFields;
    changeTab(tab: string): void;
    setJsonView(view: 'input' | 'expected' | 'config' | 'tags'): void;
    getStatusColor(): string;
    getStatusIcon(): string;
    getPassRate(): number;
    getAverageCost(): number;
    getAverageDuration(): number;
    formatDuration(seconds: number): string;
    formatCost(cost: number): string;
    openTestRun(runId: string): void;
    openTestSuite(suiteId: string): void;
    runTest(): Promise<void>;
    refresh(): Promise<void>;
    getJsonData(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<TestFormComponentExtended, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TestFormComponentExtended, "mj-test-form", never, {}, {}, never, never, false, never>;
}
export declare function LoadTestFormComponentExtended(): void;
export {};
//# sourceMappingURL=test-form.component.d.ts.map