export interface ErrorExtras { details?: string; hint?: string; path?: string; title?: string; url?: string; cause?: unknown; } export declare class SongRestoreError extends Error { readonly exitCode: number; readonly details?: string; readonly url?: string; readonly hint?: string; readonly path?: string; readonly title?: string; constructor(message: string, options?: ErrorExtras & { exitCode?: number; }); } export declare class ValidationError extends SongRestoreError { constructor(message: string, detailsOrOptions?: string | ErrorExtras); } export declare class DependencyError extends SongRestoreError { constructor(message: string, detailsOrOptions?: string | ErrorExtras); } export declare class ProcessError extends SongRestoreError { constructor(message: string, detailsOrOptions?: string | ErrorExtras); } export declare class CancellationError extends SongRestoreError { constructor(message?: string); } export declare function formatError(error: unknown, verbose?: boolean): string; export declare function exitCodeFromError(error: unknown): number;