import { LitElement, TemplateResult, PropertyValues, nothing } from 'lit';
import { RequestLogView } from '../http/RequestLog.js';
import type { ISegmentedButtonSelectionDetail } from '../../md/segmented-button/internals/SegmentedButtonsSet.js';
import type { IProjectExecutionIteration, IProjectExecutionLog } from '@api-client/core/models/ProjectExecution.js';
import type { IRequestLog } from '@api-client/core/models/RequestLog.js';
import '@github/relative-time-element';
import '../../define/http/http-request-log.js';
import '../../md/icons/ui-icon.js';
import '../../md/button/ui-button.js';
import '../../md/dropdown-list/ui-dropdown-list.js';
import '../../md/list/ui-list.js';
import '../../md/list/ui-list-item.js';
import '../../md/segmented-button/ui-segmented-button.js';
import '../../md/segmented-button/ui-segmented-button-set.js';
export declare enum ProjectRunReportView {
    summary = "summary",
    details = "details"
}
/**
 * An element that renders the execution log of the project runner with the IProjectExecutionLog.
 */
export default class ProjectRunReport extends LitElement {
    accessor report: IProjectExecutionLog | undefined;
    /**
     * The index of the selected iteration, if any.
     */
    protected accessor selectedIteration: number | undefined;
    /**
     * The index of the selected request, if any
     */
    protected accessor selectedRequest: number | undefined;
    /**
     * The currently rendered iteration.
     */
    protected accessor currentIteration: IProjectExecutionIteration | undefined;
    protected accessor currentLog: IRequestLog | undefined;
    protected accessor view: ProjectRunReportView;
    protected willUpdate(cp: PropertyValues<this>): void;
    protected processReport(): void;
    protected handleIterationSelection(e: CustomEvent): void;
    selectIteration(index: number): void;
    protected handleRequestSelection(e: CustomEvent): void;
    selectRequest(index: number): void;
    protected handleViewSelection(e: CustomEvent<ISegmentedButtonSelectionDetail>): void;
    protected handleLinkClick(e: Event): void;
    protected handleLinkKeyDown(e: KeyboardEvent): void;
    protected selectLogView(view: RequestLogView): Promise<void>;
    protected render(): TemplateResult;
    protected renderHeader(report: IProjectExecutionLog): TemplateResult;
    protected renderCurrentSelectors(report: IProjectExecutionLog): TemplateResult | typeof nothing;
    protected renderViewToggle(): TemplateResult;
    protected renderInteractionsList(iterations: IProjectExecutionIteration[]): TemplateResult;
    protected renderIterationOption(index: number): TemplateResult;
    protected renderRequestsList(): TemplateResult;
    protected renderEmptyRequestsList(): TemplateResult;
    protected renderRequestsOption(item: IRequestLog, index: number): TemplateResult;
    protected renderView(): TemplateResult;
    protected renderLog(): TemplateResult;
    protected renderSummary(): TemplateResult;
    protected renderIterationSummary(iteration: IProjectExecutionIteration): TemplateResult;
    protected renderIterationError(): TemplateResult;
    protected renderIterationSummaryTable(iterationIndex: number, executed: IRequestLog[]): TemplateResult;
    renderSummaryTableRow(item: IRequestLog, iterationIndex: number, requestIndex: number): TemplateResult;
}
//# sourceMappingURL=ProjectRunReport.d.ts.map