import { Photo, PhotoAttachment } from './photos';

// Company information type definitions (aligned with Rails CompanyInformationSerializer)
export interface CompanyInformation {
  id: number;
  company_name: string;
  tagline: string;
  mission_statement_markdown?: string;
  about_text_markdown?: string;
  description_markdown?: string;
  values_markdown?: string;
  stats_markdown?: string;
  founded_year?: number;
  logo_photo?: Photo; // Direct logo_photo association
  favicon_url?: string;
  facebook_url?: string;
  instagram_url?: string;
  tiktok_url?: string;
  linkedin_url?: string;
  twitter_url?: string;
  youtube_url?: string;
  pinterest_url?: string;
  google_my_business_url?: string;
  yelp_url?: string;
  tripadvisor_url?: string;
  google_reviews_url?: string;
  primary_phone?: string;
  primary_email?: string;
  primary_address_line_1?: string;
  primary_address_line_2?: string;
  primary_city?: string;
  primary_state?: string;
  primary_zip_code?: string;
  primary_country?: string;
  support_email?: string;
  sales_email?: string;
  business_hours?: string;
  external_management_url?: string;
  created_at: string;
  updated_at: string;
  photo_attachments?: PhotoAttachment[];
  account_status?: string; // 'active', 'stub', etc. - for stub mode detection
  chat_enabled?: boolean; // public feature flag (driven by backend comms settings)
}

export type CompanyInformationResponse = CompanyInformation | null;
