import { type WhookStringifyers } from '../index.js'; import { type WhookResponseSpec } from '../libs/utils.js'; import { type WhookResponse } from '@whook/http-transaction'; import { type OpenAPIV3_1 } from 'openapi-types'; import { type AppEnvVars } from 'application-services'; export type WhookErrorDescriptor = { code: string; description?: string; uri?: string; help?: string; status?: number; transmittedParams?: number[]; }; export type WhookErrorsDescriptors = { [errorCode: string]: WhookErrorDescriptor; }; export declare const DEFAULT_ERROR_URI = "https://stackoverflow.com/search?q=%5Bwhook%5D+$code"; export declare const DEFAULT_HELP_URI = "https://stackoverflow.com/questions/ask?tags=whook&title=How+to+debug+$code+whook+error+code"; export declare const DEFAULT_DEFAULT_ERROR_CODE = "E_UNEXPECTED"; export declare const DEFAULT_ERRORS_DESCRIPTORS: { E_UNEXPECTED: { code: string; description: string; status: number; help: string; }; E_TRANSACTION_TIMEOUT: { code: string; description: string; uri: string; help: string; }; E_STRINGIFYER_LACK: { code: string; description: string; uri: string; help: string; }; E_UNDECLARED_PATH_PARAMETER: { code: string; description: string; uri: string; help: string; }; E_BAD_PATH: { code: string; description: string; uri: string; help: string; }; E_NO_OPERATION_ID: { code: string; description: string; uri: string; help: string; }; E_NO_HANDLER: { code: string; description: string; uri: string; help: string; }; E_BAD_OPEN_API: { code: string; description: string; uri: string; help: string; }; E_UNDECLARED_SECURITY_SCHEME: { code: string; description: string; uri: string; help: string; }; E_BAD_BODY_SCHEMA: { code: string; description: string; uri: string; help: string; }; E_UNSUPPORTED_HTTP_SCHEME: { code: string; description: string; uri: string; help: string; }; E_UNSUPPORTED_API_KEY_SOURCE: { code: string; description: string; uri: string; help: string; }; E_BAD_PARAMETER_NAME: { code: string; description: string; uri: string; help: string; }; E_UNSUPPORTED_PARAMETER_DEFINITION: { code: string; description: string; uri: string; help: string; }; E_BAD_PARAMETER_SCHEMA: { code: string; description: string; uri: string; help: string; }; E_NO_RESPONSE_PROMISE: { code: string; description: string; uri: string; help: string; }; E_NO_RESPONSE: { code: string; description: string; uri: string; help: string; }; E_NO_RESPONSE_STATUS: { code: string; description: string; uri: string; help: string; }; E_NON_NUMERIC_STATUS: { code: string; description: string; uri: string; help: string; }; E_NOT_FOUND: { code: string; description: string; uri: string; help: string; }; E_REQUEST_CONTENT_TOO_LARGE: { code: string; description: string; uri: string; help: string; }; E_BAD_BODY: { code: string; description: string; uri: string; help: string; transmittedParams: number[]; }; E_BAD_BODY_LENGTH: { code: string; description: string; uri: string; help: string; }; E_UNSUPPORTED_CHARSET: { code: string; description: string; uri: string; help: string; }; E_BAD_CONTENT_TYPE: { code: string; description: string; uri: string; help: string; }; E_REQUEST_FAILURE: { code: string; description: string; uri: string; help: string; }; E_UNSUPPORTED_MEDIA_TYPE: { code: string; description: string; uri: string; help: string; }; E_UNACCEPTABLE_CHARSET: { code: string; description: string; uri: string; help: string; }; E_UNACCEPTABLE_MEDIA_TYPE: { code: string; description: string; uri: string; help: string; }; E_REQUIRED_REQUEST_BODY: { code: string; description: string; uri: string; help: string; }; E_BAD_REQUEST_BODY: { code: string; description: string; uri: string; help: string; transmittedParams: number[]; }; E_NO_REQUEST_BODY: { code: string; description: string; uri: string; help: string; }; E_REQUIRED_PARAMETER: { code: string; description: string; uri: string; help: string; }; E_BAD_PARAMETER: { code: string; description: string; uri: string; help: string; transmittedParams: number[]; }; E_NON_REENTRANT_NUMBER: { code: string; description: string; uri: string; help: string; transmittedParams: number[]; }; E_BAD_BOOLEAN: { code: string; description: string; uri: string; help: string; }; E_TRANSACTION_ID_NOT_UNIQUE: { code: string; description: string; uri: string; help: string; }; }; export type WhookErrorHandlerConfig = { DEBUG_NODE_ENVS: string[]; ERRORS_DESCRIPTORS: WhookErrorsDescriptors; DEFAULT_ERROR_CODE?: string; }; export type WhookErrorHandlerDependencies = WhookErrorHandlerConfig & { ENV: AppEnvVars; STRINGIFYERS?: WhookStringifyers; }; export interface WhookErrorHandler { (transactionId: string, responseSpec: WhookResponseSpec, err: Error): Promise; } export type WhookErrorResponse = WhookResponse; export declare const WhookErrorSchema: OpenAPIV3_1.SchemaObject; declare const _default: import("knifecycle").ServiceInitializer; export default _default;