import { z } from 'zod'; declare const errorDetailBodySchema: z.ZodObject<{ message: z.ZodString; code: z.ZodOptional; field: z.ZodOptional; path: z.ZodOptional; }, "strip", z.ZodTypeAny, { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }, { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }>; declare const errorBodySchema: z.ZodObject<{ message: z.ZodString; code: z.ZodString; details: z.ZodOptional; field: z.ZodOptional; path: z.ZodOptional; }, "strip", z.ZodTypeAny, { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }, { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { message: string; code: string; details?: { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }[] | undefined; }, { message: string; code: string; details?: { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }[] | undefined; }>; declare const apiErrorResponseBodyZodSchema: z.ZodObject<{ meta: z.ZodObject<{ status: z.ZodNumber; }, "strip", z.ZodTypeAny, { status: number; }, { status: number; }>; errors: z.ZodArray; field: z.ZodOptional; path: z.ZodOptional; }, "strip", z.ZodTypeAny, { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }, { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }>, "many">>; }, "strip", z.ZodTypeAny, { message: string; code: string; details?: { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }[] | undefined; }, { message: string; code: string; details?: { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }[] | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { meta: { status: number; }; errors: { message: string; code: string; details?: { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }[] | undefined; }[]; }, { meta: { status: number; }; errors: { message: string; code: string; details?: { message: string; code?: string | undefined; field?: string | undefined; path?: string | undefined; }[] | undefined; }[]; }>; /** * Standard response schema * @description A standard response schema for all API responses * @example * { * "data": { ... }, * "meta": { ... } * } */ declare const apiSuccessResponseBodyZodSchema: z.ZodObject<{ data: z.ZodUnknown; meta: z.ZodObject<{ status: z.ZodNumber; cache: z.ZodOptional; ttl: z.ZodOptional; expireAt: z.ZodOptional; }, "strip", z.ZodTypeAny, { hit: boolean; source?: string | undefined; ttl?: number | undefined; expireAt?: number | undefined; }, { hit: boolean; source?: string | undefined; ttl?: number | undefined; expireAt?: number | undefined; }>>; }, "strip", z.ZodTypeAny, { status: number; cache?: { hit: boolean; source?: string | undefined; ttl?: number | undefined; expireAt?: number | undefined; } | undefined; }, { status: number; cache?: { hit: boolean; source?: string | undefined; ttl?: number | undefined; expireAt?: number | undefined; } | undefined; }>; }, "strip", z.ZodTypeAny, { meta: { status: number; cache?: { hit: boolean; source?: string | undefined; ttl?: number | undefined; expireAt?: number | undefined; } | undefined; }; data?: unknown; }, { meta: { status: number; cache?: { hit: boolean; source?: string | undefined; ttl?: number | undefined; expireAt?: number | undefined; } | undefined; }; data?: unknown; }>; type ErrorDetailBodyZodSchemaType = z.infer; type ErrorBodyZodSchemaType = z.infer; type ApiErrorResponseBodyZodSchemaType = z.infer; type ApiSuccessResponseBodyZodSchemaType = Exclude, 'data'> & { data: DataType; }; declare const apiPaginationZodSchema: z.ZodObject<{ items: z.ZodArray; totalItems: z.ZodNumber; limit: z.ZodNumber; page: z.ZodNumber; totalPages: z.ZodNumber; hasNextPage: z.ZodBoolean; hasPrevPage: z.ZodBoolean; pagingCounter: z.ZodNumber; prevPage: z.ZodNumber; nextPage: z.ZodNumber; }, "strip", z.ZodTypeAny, { items: unknown[]; totalItems: number; limit: number; page: number; totalPages: number; hasNextPage: boolean; hasPrevPage: boolean; pagingCounter: number; prevPage: number; nextPage: number; }, { items: unknown[]; totalItems: number; limit: number; page: number; totalPages: number; hasNextPage: boolean; hasPrevPage: boolean; pagingCounter: number; prevPage: number; nextPage: number; }>; type ApiPaginationZodSchemaType = Omit, 'items'> & { items: ItemsType[]; }; /** * Custom labels for the api paginated response body */ declare const mongoosePaginateCustomLabels: { readonly docs: "items"; readonly totalDocs: "totalItems"; readonly limit: "limit"; readonly page: "page"; }; /** * The body of a paginated response from the api */ type ApiPaginatedResponseBodyZodSchemaType = ApiSuccessResponseBodyZodSchemaType>; /** * Method to create a success response body * @param meta * @param data * @returns */ declare function createApiSuccessResponseBody(meta: ApiSuccessResponseBodyZodSchemaType['meta'], data: T): ApiSuccessResponseBodyZodSchemaType; /** * Creates an error response with a single error */ declare function createApiErrorResponseBody(meta: ApiErrorResponseBodyZodSchemaType['meta'], errors: ApiErrorResponseBodyZodSchemaType['errors']): ApiErrorResponseBodyZodSchemaType; export { ApiErrorResponseBodyZodSchemaType, ApiPaginatedResponseBodyZodSchemaType, ApiPaginationZodSchemaType, ApiSuccessResponseBodyZodSchemaType, ErrorBodyZodSchemaType, ErrorDetailBodyZodSchemaType, apiErrorResponseBodyZodSchema, apiPaginationZodSchema, apiSuccessResponseBodyZodSchema, createApiErrorResponseBody, createApiSuccessResponseBody, errorDetailBodySchema, mongoosePaginateCustomLabels };