/**
 * Shared types for QM operations
 */

export interface QMSession {
  proxy: string;
  headers: Record<string, string>;
  successfulCalls: number;
  failedCalls: number;
  lastUsed: Date;
}

export interface SymbolSpiderJob {
  prefix: string | null; // null = root job (A-Z)
  depth: number; // 1=A, 2=AA, 3=AAA, etc.
  source: string; // 'qm'
  maxDepth?: number; // optional max depth limit
}

export interface Exchange {
  exchange: string;
  exchangeCode: string;
  exchangeShortName: string;
  countryCode: string;
  source: string;
}

export interface SpiderResult {
  success: boolean;
  symbolsFound: number;
  jobsCreated: number;
}
