import { OnInit, OnDestroy, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { TestingInstrumentationService, FeedbackPending, TestRunWithFeedbackSummary, EvaluationSummaryMetrics } from '../services/testing-instrumentation.service';
import * as i0 from "@angular/core";
type ViewMode = 'queue' | 'history';
type HistorySort = 'date' | 'rating' | 'test-name';
interface ReviewFormState {
    rating: number | null;
    isCorrect: boolean | null;
    comments: string;
}
export declare class TestingReviewComponent implements OnInit, OnDestroy {
    private instrumentationService;
    private cdr;
    initialState: Record<string, unknown> | null;
    /** When true, the inner bespoke .page-header is hidden — the parent shell owns the chrome. */
    HideToolbar: boolean;
    stateChange: EventEmitter<Record<string, unknown>>;
    private destroy$;
    CurrentView: ViewMode;
    ExpandedItemId: string | null;
    ExpandedHistoryId: string | null;
    IsRefreshing: boolean;
    IsSubmitting: boolean;
    HistorySearchText: string;
    HistorySortField: HistorySort;
    FormState: ReviewFormState;
    PendingItems: FeedbackPending[];
    HistoryItems: TestRunWithFeedbackSummary[];
    FilteredHistoryItems: TestRunWithFeedbackSummary[];
    Metrics: EvaluationSummaryMetrics | null;
    PendingCount: number;
    readonly RatingNumbers: number[];
    constructor(instrumentationService: TestingInstrumentationService, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    get IsFormValid(): boolean;
    get AgreementRate(): number;
    get AgreementColor(): string;
    get AgreementDash(): string;
    private restoreState;
    private setupSubscriptions;
    SetView(mode: ViewMode): void;
    IsItemExpanded(testRunID: string): boolean;
    ToggleExpand(testRunID: string): void;
    SelectRating(n: number): void;
    SelectCorrectness(value: boolean): void;
    OnCommentsChange(event: Event): void;
    SubmitReview(item: FeedbackPending): Promise<void>;
    SkipItem(): void;
    OnHistorySearch(event: Event): void;
    OnHistorySortChange(event: Event): void;
    ToggleHistoryComment(id: string): void;
    Refresh(): void;
    FormatDecimal(value: number | undefined | null, decimals: number): string;
    FormatRelativeTime(date: Date): string;
    private resetForm;
    private applyHistoryFilters;
    private emitState;
    static ɵfac: i0.ɵɵFactoryDeclaration<TestingReviewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TestingReviewComponent, "app-testing-review", never, { "initialState": { "alias": "initialState"; "required": false; }; "HideToolbar": { "alias": "HideToolbar"; "required": false; }; }, { "stateChange": "stateChange"; }, never, never, false, never>;
}
export {};
//# sourceMappingURL=testing-review.component.d.ts.map