import type { FastifyInstance } from 'fastify';

export interface SwaggerOptions {
  title: string;
  description?: string;
  port?: number;
}

export interface ServiceAppOptions {
  name: string;
  version: string;
  description?: string;
  corsOrigin?: string;
  logger?: boolean;
  logLevel?: 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal';
  swagger?: SwaggerOptions;
  metrics?: boolean;
}

export interface StartOptions {
  port: number;
  host?: string;
}

export type FastifyApp = FastifyInstance;
