/**
 * Shared TypeScript interfaces for models used across the application.
 * These interfaces represent the shape of data from the database/API.
 */

export interface AboutCard {
  id?: number;
  title: string;
  description: string;
  icon: string;
}

export interface Service {
  id?: number;
  title: string;
  description: string;
  icon: string;
}

export interface ServicesCTA {
  id?: number;
  buttonText: string;
  buttonLink: string;
}

export interface ContactCard {
  id: number;
  name: string;
  phone: string;
  email: string;
}

export interface SocialLink {
  id: number;
  platform: string;
  url: string;
  icon: string;
  order: number;
  isActive: boolean;
}

export interface HeroButton {
  label: string;
  url: string;
}

export interface HeroState {
  title: string;
  description: string;
  background: string | null;
  buttons: HeroButton[];
}

export interface Project {
  id: number;
  name: string;
  description: string;
  shortDescription?: string | null;
  coverImage: string | null;
  galleryImages: string[];
  updatedAt?: Date;
}

export interface BoldProduct {
  id?: number;
  name: string;
  description: string;
  link: string;
  image: string;
}

