export interface WebhookConfig {
  enabled: boolean;
  expiryThreshold: string; // ISO 8601 duration format
  storageWarningThreshold: number; // percentage
  storageCriticalThreshold: number; // percentage
  zulipUrl?: string;
  zulipEmail?: string;
  zulipApiKey?: string;
  zulipStream?: string;
}

export interface WebhookPayload {
  type: 'extractor_expiring' | 'extractor_expired' | 'storage_almost_full' | 'storage_full' | 'launchpad_almost_full' | 'launchpad_full' | 'test';
  message: string;
  characterName: string;
  planetName: string;
  details?: {
    extractorType?: string;
    hoursRemaining?: number;
    storageUsed?: number;
    storageCapacity?: number;
    fillPercentage?: number;
  };
  timestamp: string;
  zulipUrl?: string;
  zulipEmail?: string;
  zulipApiKey?: string;
  zulipStream?: string;
}
