export interface WhmcsApiConfig {
  baseUrl: string;
  identifier: string;
  secret: string;
  timeout?: number | undefined;
  retryAttempts?: number | undefined;
  retryDelay?: number | undefined;
}

export interface WhmcsRequestOptions {
  timeout?: number | undefined;
  retryAttempts?: number | undefined;
  retryDelay?: number | undefined;
  /**
   * If true, the request will jump the queue and execute immediately
   */
  highPriority?: boolean | undefined;
}

export interface WhmcsRetryConfig {
  maxAttempts: number;
  baseDelay: number;
  maxDelay: number;
  backoffMultiplier: number;
}

export interface WhmcsConnectionStats {
  totalRequests: number;
  successfulRequests: number;
  failedRequests: number;
  averageResponseTime: number;
  lastRequestTime?: Date | undefined;
  lastErrorTime?: Date | undefined;
}
