export declare enum BookStackErrorType {
    AUTHENTICATION = "AUTHENTICATION",
    AUTHORIZATION = "AUTHORIZATION",
    NOT_FOUND = "NOT_FOUND",
    VALIDATION = "VALIDATION",
    RATE_LIMIT = "RATE_LIMIT",
    SERVER_ERROR = "SERVER_ERROR",
    NETWORK_ERROR = "NETWORK_ERROR",
    TIMEOUT = "TIMEOUT",
    CONFIGURATION = "CONFIGURATION"
}
export declare class BookStackError extends Error {
    readonly type: BookStackErrorType;
    readonly statusCode?: number;
    readonly details?: any;
    readonly timestamp: Date;
    constructor(type: BookStackErrorType, message: string, statusCode?: number, details?: any);
    toJSON(): any;
}
export declare class ErrorHandler {
    static handleApiError(error: any): BookStackError;
    static handleValidationError(error: any): BookStackError;
    static handleConfigurationError(message: string, details?: any): BookStackError;
    static isRetryableError(error: BookStackError): boolean;
    static getRetryDelay(attempt: number, baseDelay?: number): number;
}
//# sourceMappingURL=error-handler.d.ts.map