/**
 * Base error class for PDF Reporter errors
 */
export declare abstract class PdfReporterError extends Error {
    cause?: Error | undefined;
    abstract readonly code: string;
    constructor(message: string, cause?: Error | undefined);
}
/**
 * Error thrown during PDF generation process
 */
export declare class PdfGenerationError extends PdfReporterError {
    phase?: string | undefined;
    readonly code = "PDF_GENERATION_ERROR";
    constructor(message: string, phase?: string | undefined, cause?: Error);
}
/**
 * Error thrown during template compilation
 */
export declare class TemplateError extends PdfReporterError {
    templateName?: string | undefined;
    readonly code = "TEMPLATE_ERROR";
    constructor(message: string, templateName?: string | undefined, cause?: Error);
}
/**
 * Error thrown during S3 upload operations
 */
export declare class S3UploadError extends PdfReporterError {
    bucket?: string | undefined;
    key?: string | undefined;
    readonly code = "S3_UPLOAD_ERROR";
    constructor(message: string, bucket?: string | undefined, key?: string | undefined, cause?: Error);
}
/**
 * Error thrown during email sending operations
 */
export declare class EmailError extends PdfReporterError {
    recipient?: string | undefined;
    readonly code = "EMAIL_ERROR";
    constructor(message: string, recipient?: string | undefined, cause?: Error);
}
/**
 * Error thrown during chunk processing
 */
export declare class ChunkProcessingError extends PdfReporterError {
    chunkIndex?: number | undefined;
    readonly code = "CHUNK_PROCESSING_ERROR";
    constructor(message: string, chunkIndex?: number | undefined, cause?: Error);
}
/**
 * Error thrown when browser operations fail
 */
export declare class BrowserError extends PdfReporterError {
    operation?: string | undefined;
    readonly code = "BROWSER_ERROR";
    constructor(message: string, operation?: string | undefined, cause?: Error);
}
/**
 * Error thrown during PDF merging operations
 */
export declare class MergeError extends PdfReporterError {
    chunkCount?: number | undefined;
    readonly code = "MERGE_ERROR";
    constructor(message: string, chunkCount?: number | undefined, cause?: Error);
}
/**
 * Error thrown for configuration issues
 */
export declare class ConfigurationError extends PdfReporterError {
    field?: string | undefined;
    readonly code = "CONFIGURATION_ERROR";
    constructor(message: string, field?: string | undefined, cause?: Error);
}
/**
 * Error thrown for timeout issues
 */
export declare class TimeoutError extends PdfReporterError {
    timeoutMs?: number | undefined;
    readonly code = "TIMEOUT_ERROR";
    constructor(message: string, timeoutMs?: number | undefined, cause?: Error);
}
/**
 * Type guard to check if error is a PDF Reporter error
 */
export declare function isPdfReporterError(error: unknown): error is PdfReporterError;
/**
 * Extract meaningful error message from any error type
 */
export declare function getErrorMessage(error: unknown): string;
/**
 * Extract error stack trace safely
 */
export declare function getErrorStack(error: unknown): string | undefined;
//# sourceMappingURL=errors.d.ts.map