import { CustomerServiceProvider } from '@spiffy-ai/commerce-api-client';

export enum CustomerServiceType {
  shopify = 'shopify',
  gorgias = 'gorgias',
  kustomer = 'kustomer',
  groove = 'groove',
  tidio = 'tidio',
  zowie = 'zowie',
  redo = 'redo',
  gladly = 'gladly',
  richpanel = 'richpanel',
  zendesk = 'zendesk',
  helpscout = 'helpscout',
  talkdesk = 'talkdesk',
  eightByEight = '8x8',
  unsupported = 'unsupported',
}
export enum CustomerServiceIntegrationMode {
  none = 'none',
  simple = 'simple',
  full = 'full',
}

export interface CustomerServiceIntegration {
  provider: CustomerServiceProvider;
  supportedIntegrationModes: CustomerServiceIntegrationMode[];
  allowFileUpload?: boolean;
  maxfileUploadSize?: number;
  // TODO: Remove this method when migrating other providers to the new unified CX button.
  onSwitchToAgent: () => void;
  isEnabled: () => boolean;
  isBusinessHours: (apiKey?: string, apiEndpoint?: string) => Promise<boolean>;
}
