/**
 * SDK Error Classes
 *
 * Domain-specific error classes for client-side error handling
 * Matches the service's error types for consistency
 */
import type { ErrorCode, ErrorType, ApiError } from './types';
export declare abstract class ScrapingServiceError extends Error {
    readonly cause?: unknown | undefined;
    abstract readonly code: ErrorCode;
    abstract readonly type: ErrorType;
    constructor(message: string, cause?: unknown | undefined);
}
export declare class NetworkError extends ScrapingServiceError {
    readonly code: "INTERNAL_SERVER_ERROR";
    readonly type: "SCRAPING_ERROR";
    constructor(message: string, cause?: unknown);
}
export declare class TimeoutError extends ScrapingServiceError {
    readonly code: "TIMEOUT_ERROR";
    readonly type: "TIMEOUT_ERROR";
    constructor(message: string, cause?: unknown);
}
export declare class ValidationError extends ScrapingServiceError {
    readonly code: "BAD_REQUEST";
    readonly type: "VALIDATION_ERROR";
    constructor(message: string, cause?: unknown);
}
export declare class ChapterNotFoundError extends ScrapingServiceError {
    readonly code: "NOT_FOUND";
    readonly type: "CHAPTER_NOT_FOUND";
    constructor(url: string);
}
export declare class ContentNotFoundError extends ScrapingServiceError {
    readonly code: "NOT_FOUND";
    readonly type: "CONTENT_NOT_FOUND";
    constructor(message: string);
}
export declare class UnsupportedSiteError extends ScrapingServiceError {
    readonly code: "BAD_REQUEST";
    readonly type: "UNSUPPORTED_SITE";
    constructor(hostname: string);
}
export declare class BrowserError extends ScrapingServiceError {
    readonly code: "INTERNAL_SERVER_ERROR";
    readonly type: "BROWSER_ERROR";
    constructor(message: string);
}
export declare class RateLimitError extends ScrapingServiceError {
    readonly code: "RATE_LIMIT_EXCEEDED";
    readonly type: "RATE_LIMIT_ERROR";
    constructor(message: string);
}
export declare class ServiceError extends ScrapingServiceError {
    readonly code: "INTERNAL_SERVER_ERROR";
    readonly type: "SCRAPING_ERROR";
    constructor(message: string, cause?: unknown);
}
/**
 * Creates appropriate error instance from API error response
 */
export declare function createErrorFromApiResponse(apiError: ApiError): ScrapingServiceError;
/**
 * Type guard to check if error is a scraping service error
 */
export declare function isScrapingServiceError(error: unknown): error is ScrapingServiceError;
/**
 * Type guard to check if error is a specific error type
 */
export declare function isErrorOfType<T extends ScrapingServiceError>(error: unknown, ErrorClass: new (...args: unknown[]) => T): error is T;
/**
 * Extract error message from various error types
 */
export declare function getErrorMessage(error: unknown): string;
/**
 * HTTP status code mapping for errors
 */
export declare const httpStatusMap: Record<ErrorCode, number>;
//# sourceMappingURL=errors.d.ts.map