/**
 * Common types used across the application
 * Re-exports types from the auto-generated OpenAPI schema
 */

/**
 * Custom common types
 */

export interface ErrorResponse {
  message: string;
  status?: number;
  timestamp?: string;
  path?: string;
}

export interface ValidationError {
  field: string;
  message: string;
  code?: string;
}

export interface ApiError {
  message: string;
  code?: string;
  status?: number;
  validationErrors?: ValidationError[];
}

export interface PaginationParams {
  page?: number;
  size?: number;
  sort?: string;
}

export interface PagedResponse<T> {
  content: T[];
  totalElements: number;
  totalPages: number;
  size: number;
  number: number;
}
