export interface RenderTraceOptions {
  includeFullText?: boolean;
}

export declare class RenderTrace {
  constructor(tracePath: string, options?: RenderTraceOptions);
  readonly path: string;
  readonly includeFullText: boolean;
  recordEvent(type: string, payload?: Record<string, unknown>): void;
  recordFrame(payload: Record<string, unknown>): void;
}

export declare function summarizeBuffer(
  buffer: string,
  includeRaw?: boolean
): Record<string, unknown>;
export declare function summarizeLines(
  previousLines: string[],
  newLines: string[],
  options: {
    height: number;
    firstChanged?: number;
    lastChanged?: number;
    includeFullText?: boolean;
    changedLineLimit?: number;
    rendererPreviousViewportTop?: number;
    rendererNextViewportTop?: number;
  }
): Record<string, unknown>;
export declare function sanitizeOverlayOptions(
  options: unknown
): Record<string, unknown> | undefined;
