declare global {
  interface Window {
    HWLAB_CLOUD_WEB_CONFIG?: {
      auth?: { mode?: "auto" | "manual"; username?: string; password?: string };
      displayTime?: {
        timeZone?: string;
        locale?: string;
        label?: string;
      };
      workbench?: {
        realtimeFeatures?: {
          liveKafkaSse?: boolean;
          kafkaRefreshReplay?: boolean;
          projectionRealtime?: boolean;
        };
        debugCapabilities?: {
          isolatedKafka?: boolean;
          rawHwlabEventWindow?: {
            enabled?: boolean;
            maxEntries?: number;
            maxRetainedBytes?: number;
          };
        };
        traceTimeline?: {
          autoExpandRunning?: boolean;
          autoCollapseTerminal?: boolean;
        };
        traceExplorerUrlTemplate?: string;
        runtimePolicy?: {
          defaultCodeAgentTimeoutMs?: number;
          defaultGatewayTimeoutMs?: number;
          traceDetailPageLimit?: number;
          traceDetailMaxPages?: number;
          traceDetailMaxAttempts?: number;
          traceDetailRetryDelayMs?: number;
          traceDetailAutoQueueLimit?: number;
          traceDetailBackgroundConcurrency?: number;
          traceDetailBackgroundDelayMs?: number;
          /** @deprecated Use traceDetailPageLimit. */
          traceHydrationPageLimit?: number;
          /** @deprecated Use traceDetailMaxPages. */
          traceHydrationMaxPages?: number;
          /** @deprecated Use traceDetailMaxAttempts. */
          traceHydrationMaxAttempts?: number;
          /** @deprecated Use traceDetailRetryDelayMs. */
          traceHydrationRetryDelayMs?: number;
          /** @deprecated Use traceDetailAutoQueueLimit. */
          traceHydrationAutoQueueLimit?: number;
          /** @deprecated Use traceDetailBackgroundConcurrency. */
          traceHydrationBackgroundConcurrency?: number;
          /** @deprecated Use traceDetailBackgroundDelayMs. */
          traceHydrationBackgroundDelayMs?: number;
          sessionListPageLimit?: number;
          workbenchDetailReadConcurrency?: number;
          /** @deprecated Use workbenchDetailReadConcurrency. */
          workbenchReadHydrationConcurrency?: number;
          workbenchReadFailureCooldownMs?: number;
          workbenchTraceEventsMinRefreshMs?: number;
          workbenchSessionDetailMinRefreshMs?: number;
          workbenchSessionMessagesMinRefreshMs?: number;
          workbenchSessionMessagesWindowLimit?: number;
          workbenchRealtimeSessionMessagesMinRefreshMs?: number;
          workbenchTraceEventsTimeoutMs?: number;
          sessionListMinRefreshIntervalMs?: number;
          workbenchRealtimeErrorSyncReplayMinMs?: number;
          /** @deprecated Use workbenchRealtimeErrorSyncReplayMinMs. */
          workbenchRealtimeErrorGapFillMinMs?: number;
        };
      };
      agentObserver?: {
        nodeId?: string;
        lane?: string;
        reconnectDelayMs?: number;
        batchMaxEvents?: number;
        liveBufferLimit?: number;
        identityWindowLimit?: number;
        reducerEventLimit?: number;
        reducerEntityLimit?: number;
        treeNodeLimit?: number;
        inspectorEventTailLimit?: number;
        virtualListWindowLimit?: number;
        changeHighlightMs?: number;
        staleAfterMs?: number;
        reducedMotion?: "respect-system";
      };
      opencode?: {
        url?: string;
      };
    };
    __HWLAB_WORKBENCH_UI_TRACE__?: {
      uiTraceId: string;
      otelTraceId: string;
      traceparent: string;
      startedAtEpochMs: number;
      valuesPrinted: false;
    };
  }
}

export {};
