/** * Main entry point for fuapi - a type-safe full-stack API framework for TypeScript. * * fuapi provides end-to-end type safety for API communication between frontend and backend, * with automatic type inference, runtime validation using Zod schemas, and standardized * error handling. The framework supports four API patterns: * * - **PlainAPI**: No input or output (e.g., health checks) * - **ArgAPI**: Input only (e.g., create operations) * - **RetAPI**: Output only (e.g., read operations) * - **StdAPI**: Both input and output (e.g., full CRUD operations) * * @example * ```typescript * import { defineAPI, implApi, clientOfAPI, z } from 'fuapi' * * // Define API * const getUserApi = defineAPI({ * path: '/users/get', * dtoSchema: z.object({ id: z.string() }), * voSchema: z.object({ id: z.string(), name: z.string() }) * }) * * // Server implementation * implApi({ * express: app, * api: getUserApi, * handler: async ({ dto }) => ({ id: dto.id, name: 'John' }) * }) * * // Client usage * const client = clientOfAPI({ api: getUserApi, axios: axiosInstance }) * const user = await client({ id: '123' }) // Fully typed * ``` */ export * from './def'; export * from './server'; export * from './client'; export * from './Result'; export * from 'zod'; export * from './InvalidDTOError'; export * from './InvalidVOError'; export * from './APIError'; export * from './types'; //# sourceMappingURL=index.d.ts.map