import { OnInit, OnDestroy } from '@angular/core';
import { MJTestRunEntity, MJTestEntity, MJTestSuiteRunEntity, MJAIAgentRunEntity, MJAIPromptRunEntity, MJTestRunFeedbackEntity } from '@memberjunction/core-entities';
import { MJTestRunFormComponent } from '../../generated/Entities/MJTestRun/mjtestrun.form.component';
import { ToolbarConfig } from '@memberjunction/ng-code-editor';
import * as i0 from "@angular/core";
interface ParsedData {
    input?: Record<string, unknown>;
    expected?: Record<string, unknown>;
    actual?: Record<string, unknown>;
    resultDetails?: Record<string, unknown>;
}
interface CheckResult {
    name: string;
    passed: boolean;
    message?: string;
    weight?: number;
}
export declare class MJTestRunFormComponentExtended extends MJTestRunFormComponent implements OnInit, OnDestroy {
    record: MJTestRunEntity;
    private destroy$;
    activeTab: string;
    loading: boolean;
    loadingAIRuns: boolean;
    loadingFeedback: boolean;
    error: string | null;
    aiRunsLoaded: boolean;
    feedbackLoaded: boolean;
    isRefreshing: boolean;
    autoRefreshEnabled: boolean;
    test: MJTestEntity | null;
    testSuiteRun: MJTestSuiteRunEntity | null;
    aiAgentRuns: MJAIAgentRunEntity[];
    aiPromptRuns: MJAIPromptRunEntity[];
    feedbacks: MJTestRunFeedbackEntity[];
    parsedData: ParsedData;
    comparisonView: 'input' | 'expected' | 'actual';
    jsonToolbar: ToolbarConfig;
    keyboardShortcutsEnabled: boolean;
    tags: string[];
    newTag: string;
    editingTags: boolean;
    savingTags: boolean;
    private originalTags;
    private navigationService;
    private testingDialogService;
    private appManager;
    private viewContainerRef;
    ngOnInit(): Promise<void>;
    private loadTags;
    startEditingTags(): void;
    cancelEditingTags(): void;
    addTag(): void;
    removeTag(tag: string): void;
    saveTags(): Promise<void>;
    ngOnDestroy(): void;
    handleKeyboardShortcut(event: KeyboardEvent): void;
    private startAutoRefresh;
    private silentRefresh;
    private loadRelatedData;
    retryLoad(): Promise<void>;
    private loadAIRuns;
    private loadFeedback;
    private parseJsonFields;
    changeTab(tab: string): void;
    setComparisonView(view: 'input' | 'expected' | 'actual'): void;
    getStatusColor(): string;
    getStatusIcon(): string;
    getStatusClass(): string;
    calculateDuration(): string;
    formatScore(score: number | null): string;
    formatCost(cost: number | null): string;
    getScorePercentage(): number;
    getPassRatePercentage(): number;
    openTest(): void;
    navigateToTestingDashboard(): void;
    openTestSuiteRun(): void;
    openAIAgentRun(runId: string): void;
    openAIPromptRun(runId: string): void;
    reRunTest(): Promise<void>;
    refresh(): Promise<void>;
    getComparisonData(): string;
    getCheckResults(): CheckResult[];
    getPassRate(): number;
    copyLogToClipboard(): Promise<void>;
    getFormattedResultDetails(): string;
    getRelativeTime(date: Date | string | null): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<MJTestRunFormComponentExtended, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MJTestRunFormComponentExtended, "mj-test-run-form", never, {}, {}, never, never, false, never>;
}
export {};
//# sourceMappingURL=test-run-form.component.d.ts.map