/**
 * Preview Module — Barrel Exports
 */

export { PreviewManager } from './manager.js';
export { discoverConfig, parseCwPreviewConfig } from './config-reader.js';
export {
  generateComposeFile,
  generateLabels,
} from './compose-generator.js';
export {
  GatewayManager,
  generateGatewayCaddyfile,
} from './gateway.js';
export type { GatewayRoute } from './gateway.js';
export {
  createPreviewWorktree,
  removePreviewWorktree,
} from './worktree.js';
export {
  isDockerAvailable,
  composeUp,
  composeDown,
  execInContainer,
  composePs,
  listPreviewProjects,
  getContainerLabels,
  ensureDockerNetwork,
  removeDockerNetwork,
  dockerNetworkExists,
} from './docker-client.js';
export { waitForHealthy } from './health-checker.js';
export { allocatePort } from './port-allocator.js';
export type {
  PreviewConfig,
  PreviewServiceConfig,
  PreviewServiceDevConfig,
  PreviewStatus,
  StartPreviewOptions,
  HealthResult,
} from './types.js';
export {
  PREVIEW_LABELS,
  COMPOSE_PROJECT_PREFIX,
  GATEWAY_PROJECT_NAME,
  GATEWAY_NETWORK,
} from './types.js';
