/**
 * Runtime phase in which an error occurred.
 */
export type MotionGPUErrorPhase = 'initialization' | 'render';
/**
 * Stable machine-readable error category code.
 */
export type MotionGPUErrorCode = 'WEBGPU_UNAVAILABLE' | 'WEBGPU_ADAPTER_UNAVAILABLE' | 'WEBGPU_CONTEXT_UNAVAILABLE' | 'WGSL_COMPILATION_FAILED' | 'MATERIAL_PREPROCESS_FAILED' | 'WEBGPU_DEVICE_LOST' | 'WEBGPU_UNCAPTURED_ERROR' | 'BIND_GROUP_MISMATCH' | 'RUNTIME_RESOURCE_MISSING' | 'UNIFORM_VALUE_INVALID' | 'STORAGE_BUFFER_OUT_OF_BOUNDS' | 'STORAGE_BUFFER_READ_FAILED' | 'RENDER_GRAPH_INVALID' | 'PINGPONG_CONFIGURATION_INVALID' | 'TEXTURE_USAGE_INVALID' | 'TEXTURE_REQUEST_FAILED' | 'TEXTURE_DECODE_UNAVAILABLE' | 'TEXTURE_REQUEST_ABORTED' | 'COMPUTE_COMPILATION_FAILED' | 'COMPUTE_CONTRACT_INVALID' | 'MOTIONGPU_RUNTIME_ERROR';
/**
 * Severity level for user-facing diagnostics.
 */
export type MotionGPUErrorSeverity = 'error' | 'fatal';
/**
 * One source-code line displayed in diagnostics snippet.
 */
export interface MotionGPUErrorSourceLine {
    number: number;
    code: string;
    highlight: boolean;
}
/**
 * Structured source context displayed for shader compilation errors.
 */
export interface MotionGPUErrorSource {
    component: string;
    location: string;
    line: number;
    column?: number;
    snippet: MotionGPUErrorSourceLine[];
}
/**
 * Optional runtime context captured with diagnostics payload.
 */
export interface MotionGPUErrorContext {
    materialSignature?: string;
    passGraph?: {
        passCount: number;
        enabledPassCount: number;
        inputs: string[];
        outputs: string[];
    };
    activeRenderTargets: string[];
}
/**
 * Structured error payload used by UI diagnostics.
 */
export interface MotionGPUErrorReport {
    /**
     * Stable machine-readable category code.
     */
    code: MotionGPUErrorCode;
    /**
     * Severity level used by diagnostics UIs and telemetry.
     */
    severity: MotionGPUErrorSeverity;
    /**
     * Whether runtime may recover without full renderer re-creation.
     */
    recoverable: boolean;
    /**
     * Short category title.
     */
    title: string;
    /**
     * Primary human-readable message.
     */
    message: string;
    /**
     * Suggested remediation hint.
     */
    hint: string;
    /**
     * Additional parsed details (for example WGSL line errors).
     */
    details: string[];
    /**
     * Stack trace lines when available.
     */
    stack: string[];
    /**
     * Original unmodified message.
     */
    rawMessage: string;
    /**
     * Runtime phase where the error occurred.
     */
    phase: MotionGPUErrorPhase;
    /**
     * Optional source context for shader-related diagnostics.
     */
    source: MotionGPUErrorSource | null;
    /**
     * Optional runtime context snapshot (material/pass graph/render targets).
     */
    context: MotionGPUErrorContext | null;
}
/**
 * Converts unknown errors to a consistent, display-ready error report.
 *
 * @param error - Unknown thrown value.
 * @param phase - Phase during which error occurred.
 * @returns Normalized error report.
 */
export declare function toMotionGPUErrorReport(error: unknown, phase: MotionGPUErrorPhase): MotionGPUErrorReport;
//# sourceMappingURL=error-report.d.ts.map