/**
 * @fileoverview MCP Log Detail Slide-Out Panel Component
 *
 * Displays detailed information about an MCP tool execution log
 * in a slide-out panel from the right side.
 */
import { EventEmitter, ChangeDetectorRef, OnInit, OnDestroy } from '@angular/core';
import { MCPExecutionLogData } from '../mcp-dashboard.component';
import * as i0 from "@angular/core";
/**
 * Extended log data with parsed input/output
 */
export interface LogDetailData extends MCPExecutionLogData {
    InputArgs?: string | null;
    Result?: string | null;
    ServerName?: string;
}
/**
 * Expandable section state
 */
interface ExpandableSection {
    expanded: boolean;
}
export declare class MCPLogDetailPanelComponent implements OnInit, OnDestroy {
    private cdr;
    Visible: boolean;
    Log: LogDetailData | null;
    Close: EventEmitter<void>;
    RunAgain: EventEmitter<{
        toolId: string;
        connectionId: string;
    }>;
    InputArgsSection: ExpandableSection;
    ResultSection: ExpandableSection;
    ErrorSection: ExpandableSection;
    private readonly PANEL_WIDTH_SETTING_KEY;
    private readonly MIN_PANEL_WIDTH;
    private readonly MAX_PANEL_WIDTH;
    private readonly DEFAULT_PANEL_WIDTH;
    private readonly MOBILE_BREAKPOINT;
    PanelWidth: number;
    IsResizing: boolean;
    get IsMobileMode(): boolean;
    private widthPersistSubject;
    private destroy$;
    constructor(cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnDestroy(): void;
    onResizeStart(event: MouseEvent): void;
    onMouseMove(event: MouseEvent): void;
    onMouseUp(): void;
    onWindowResize(): void;
    private loadSavedPanelWidth;
    private persistPanelWidth;
    closePanel(): void;
    onRunAgain(): void;
    toggleSection(section: ExpandableSection): void;
    copyInputArgs(): Promise<void>;
    copyResult(): Promise<void>;
    copyError(): Promise<void>;
    private copyToClipboard;
    formatDate(date: Date | string | null): string;
    formatDuration(ms: number | null): string;
    formatJson(jsonString: string | null | undefined): string;
    get FormattedInputArgs(): string;
    get FormattedResult(): string;
    getStatusIcon(status: string): string;
    getStatusVariant(status: string): 'info' | 'success' | 'warning' | 'error';
    static ɵfac: i0.ɵɵFactoryDeclaration<MCPLogDetailPanelComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MCPLogDetailPanelComponent, "mj-mcp-log-detail-panel", never, { "Visible": { "alias": "Visible"; "required": false; }; "Log": { "alias": "Log"; "required": false; }; }, { "Close": "Close"; "RunAgain": "RunAgain"; }, never, never, false, never>;
}
export {};
//# sourceMappingURL=mcp-log-detail-panel.component.d.ts.map