import { z } from "zod"; declare class ResourceNotFoundError extends Error { statusCode: number; resourceId: string | null; resourceType: string; constructor(resource: string, id: string | null); } declare class InvalidInputError extends Error { statusCode: number; constructor(message: string); } declare class ValidationError extends Error { statusCode: number; constructor(message: string); } declare class UnknownError extends Error { statusCode: number; constructor(message: string); } declare class DatabaseError extends Error { statusCode: number; constructor(message: string); } declare class UniqueConstraintError extends Error { statusCode: number; constructor(message: string); } declare class ForeignKeyConstraintError extends Error { statusCode: number; constructor(message: string); } declare class OperationNotAllowedError extends Error { statusCode: number; constructor(message: string); } declare class AuthenticationError extends Error { statusCode: number; constructor(message: string); } declare class AuthorizationError extends Error { statusCode: number; constructor(message: string); } interface NetworkError { code: "network_error"; message: string; status: number; url: URL; responseMessage?: string; details?: Record; } interface ForbiddenError { code: "forbidden"; message: string; status: number; url: URL; responseMessage?: string; details?: Record; } export declare const ZErrorHandler: z.ZodFunction, z.ZodVoid>; export { ResourceNotFoundError, InvalidInputError, ValidationError, DatabaseError, UniqueConstraintError, UnknownError, ForeignKeyConstraintError, OperationNotAllowedError, AuthenticationError, AuthorizationError, }; export type { NetworkError, ForbiddenError }; export interface ApiErrorResponse { code: "not_found" | "gone" | "bad_request" | "internal_server_error" | "unauthorized" | "method_not_allowed" | "not_authenticated" | "forbidden" | "network_error"; message: string; status: number; url: URL; details?: Record; responseMessage?: string; }