// Core modules (existing) - excluding vault
export * from "./api";
export * from "./db";
export * from "./middleware";
export * from "./models";

// New modular exports (recommended import style)
export * from "./constants";
export * from "./infrastructure";
export * from "./schemas";
export * from "./types";
export * from "./utils";

// Individual file exports (for backward compatibility and specific imports)
export * from "./constants/awsPolly";
export * from "./constants/redis";
export * from "./constants/services";
export * from "./infrastructure/performance";
export * from "./infrastructure/queue";
export * from "./schemas/responses";
export * from "./types/jobs";
export * from "./utils/fileSystem";
export * from "./utils/idGeneration";
export * from "./utils/metadata";

// Enterprise service management exports (selective to avoid side effects)
export { ConsoleTransport, FileTransport, Logger } from "./infrastructure/services/Logger";
export { EnterpriseServiceManager } from "./infrastructure/services/ServiceManager";
export { DefaultServiceConfigs, ManagerConfigSchema, ServiceConfig, ServiceConfigItemSchema } from "./schemas/services/ServiceConfig";
export * from "./types/services/ServiceInterfaces";

// AWS Polly schemas (selective export to avoid conflicts)
export {
  awsPollyConfigSchema, awsPollyEngineSchema, awsPollyMetadataSchema, awsPollyOutputFormatSchema,
  awsPollyRequestSchema,
  awsPollySynthesisInputSchema, awsPollyVoiceSchema, speechSynthesisResponseSchema
} from "./schemas/awsPolly";

// API exports (excluding vault)
export { default as BucketManager } from "./api/bucket.js";
export * from "./api/request.js";
export * from "./api/util.js";
export * from "./api/server.types.js";
export * from "./api/bucket.js";

export * from "express-zod-api";