import { z } from 'zod';
/** Shared API envelope used by Nest and Next clients. */
export declare const apiErrorSchema: z.ZodObject<{
    statusCode: z.ZodNumber;
    message: z.ZodString;
    code: z.ZodOptional<z.ZodString>;
    correlationId: z.ZodOptional<z.ZodString>;
    details: z.ZodOptional<z.ZodUnknown>;
}, "strip", z.ZodTypeAny, {
    message: string;
    statusCode: number;
    code?: string | undefined;
    correlationId?: string | undefined;
    details?: unknown;
}, {
    message: string;
    statusCode: number;
    code?: string | undefined;
    correlationId?: string | undefined;
    details?: unknown;
}>;
export type ApiError = z.infer<typeof apiErrorSchema>;
export declare const healthResponseSchema: z.ZodObject<{
    status: z.ZodLiteral<"ok">;
    service: z.ZodString;
    timestamp: z.ZodString;
    version: z.ZodString;
}, "strip", z.ZodTypeAny, {
    status: "ok";
    service: string;
    timestamp: string;
    version: string;
}, {
    status: "ok";
    service: string;
    timestamp: string;
    version: string;
}>;
export type HealthResponse = z.infer<typeof healthResponseSchema>;
/** Validated server environment (API). Secrets never logged. */
export declare const apiEnvSchema: z.ZodObject<{
    NODE_ENV: z.ZodDefault<z.ZodEnum<["development", "test", "production"]>>;
    API_PORT: z.ZodDefault<z.ZodNumber>;
    API_PREFIX: z.ZodDefault<z.ZodString>;
    DATABASE_URL: z.ZodString;
    DATABASE_URL_TEST: z.ZodOptional<z.ZodString>;
    CORS_ORIGIN: z.ZodDefault<z.ZodString>;
    SESSION_SECRET: z.ZodString;
    COOKIE_SECURE: z.ZodDefault<z.ZodEffects<z.ZodUnion<[z.ZodBoolean, z.ZodString]>, boolean, string | boolean>>;
    LEGACY_STAGING_DATABASE_URL: z.ZodOptional<z.ZodString>;
    REDIS_URL: z.ZodOptional<z.ZodString>;
    MEDIA_DRIVER: z.ZodDefault<z.ZodEnum<["local", "s3"]>>;
    MEDIA_LOCAL_ROOT: z.ZodDefault<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    NODE_ENV: "development" | "test" | "production";
    API_PORT: number;
    API_PREFIX: string;
    DATABASE_URL: string;
    CORS_ORIGIN: string;
    SESSION_SECRET: string;
    COOKIE_SECURE: boolean;
    MEDIA_DRIVER: "local" | "s3";
    MEDIA_LOCAL_ROOT: string;
    DATABASE_URL_TEST?: string | undefined;
    LEGACY_STAGING_DATABASE_URL?: string | undefined;
    REDIS_URL?: string | undefined;
}, {
    DATABASE_URL: string;
    SESSION_SECRET: string;
    NODE_ENV?: "development" | "test" | "production" | undefined;
    API_PORT?: number | undefined;
    API_PREFIX?: string | undefined;
    DATABASE_URL_TEST?: string | undefined;
    CORS_ORIGIN?: string | undefined;
    COOKIE_SECURE?: string | boolean | undefined;
    LEGACY_STAGING_DATABASE_URL?: string | undefined;
    REDIS_URL?: string | undefined;
    MEDIA_DRIVER?: "local" | "s3" | undefined;
    MEDIA_LOCAL_ROOT?: string | undefined;
}>;
export type ApiEnv = z.infer<typeof apiEnvSchema>;
export declare function parseApiEnv(env?: NodeJS.ProcessEnv): ApiEnv;
/** Phase 0 smoke: decimal-safe money helper contract (implementation in services later). */
export declare const moneyStringSchema: z.ZodString;
export declare const organizationIdSchema: z.ZodString;
export * from './auth';
export * from './masters';
export * from './persons';
export * from './fit';
export * from './fit-fields';
export * from './measurements';
export * from './orders';
export * from './production';
export * from './inventory';
export * from './booking';
export * from './finance';
export * from './communications';
//# sourceMappingURL=index.d.ts.map