/**
 * Debug Types
 *
 * Type definitions for the debug marker and annotation system.
 *
 * @since v1.33.2
 */
import type { Tier } from '../../core/types/auth.js';
/**
 * Severity levels for debug markers
 */
export type DebugSeverity = 'info' | 'warning' | 'bug' | 'question' | 'enhancement';
/**
 * Status of a debug marker
 */
export type DebugMarkerStatus = 'open' | 'in-review' | 'resolved' | 'wont-fix';
/**
 * A debug marker for flagging code areas for review
 */
export interface DebugMarker {
    id: string;
    createdAt: string;
    file: string;
    lineStart: number;
    lineEnd?: number;
    component?: string;
    title: string;
    description: string;
    severity: DebugSeverity;
    uiState?: Record<string, unknown>;
    tier?: Tier;
    tags: string[];
    status: DebugMarkerStatus;
    resolvedAt?: string;
    resolution?: string;
}
/**
 * A note associated with a debug session
 */
export interface DebugNote {
    id: string;
    createdAt: string;
    content: string;
    relatedMarkers: string[];
}
/**
 * Reference to a recording
 */
export interface RecordingRef {
    id: string;
    name: string;
}
/**
 * A debug session containing markers and notes
 */
export interface DebugSession {
    id: string;
    name: string;
    startedAt: string;
    endedAt?: string;
    markers: DebugMarker[];
    notes: DebugNote[];
    recording?: RecordingRef;
}
/**
 * A code snippet for context
 */
export interface CodeSnippet {
    file: string;
    lineStart: number;
    lineEnd: number;
    content: string;
    language: string;
}
/**
 * Claude-optimized context for code review
 */
export interface ClaudeContext {
    session: DebugSession;
    codeSnippets: CodeSnippet[];
    summary: string;
    actionItems: string[];
}
/**
 * Options for creating a marker
 */
export interface CreateMarkerOptions {
    title: string;
    description: string;
    severity: DebugSeverity;
    file: string;
    lineStart: number;
    lineEnd?: number;
    component?: string;
    uiState?: Record<string, unknown>;
    tier?: Tier;
    tags?: string[];
}
/**
 * Debug session store for persistence
 */
export interface DebugStore {
    version: number;
    currentSessionId: string | null;
    sessions: DebugSession[];
}
/**
 * Severity display info
 */
export interface SeverityDisplay {
    label: string;
    color: string;
    symbol: string;
}
/**
 * Severity display configuration
 */
export declare const SEVERITY_DISPLAY: Record<DebugSeverity, SeverityDisplay>;
/**
 * Status display info
 */
export interface StatusDisplay {
    label: string;
    color: string;
}
/**
 * Status display configuration
 */
export declare const STATUS_DISPLAY: Record<DebugMarkerStatus, StatusDisplay>;
/**
 * Debug store version
 */
export declare const DEBUG_STORE_VERSION = 1;
/**
 * Generate a unique ID for debug items
 */
export declare function generateDebugId(prefix?: string): string;
/**
 * Create an empty debug session
 */
export declare function createEmptySession(name?: string): DebugSession;
/**
 * Create an empty debug store
 */
export declare function createEmptyDebugStore(): DebugStore;
//# sourceMappingURL=debug-types.d.ts.map