import { AuthService } from '../services/auth.service'; import { GenAISolverService } from '../services/genai-solver.service'; import { Model } from 'mongoose'; import { ApiKeyDocument } from '../database/schemas/api-key.schema'; export interface ApiKeyScopesResponse { valid: boolean; strategies: string[]; issuer?: string; keyId?: string; expiresAt?: string; lastUsed?: string; error?: string; } export interface CreateApiKeyRequest { name: string; issuer: string; allowedStrategies?: string[]; expiresInDays?: number; metadata?: Record; } export interface CreateApiKeyResponse { success: boolean; apiKey?: string; keyId?: string; expiresAt?: string; error?: string; } export interface ApiKeyInfoResponse { success: boolean; keyId?: string; issuer?: string; name?: string; allowedStrategies?: string[]; enabled?: boolean; expiresAt?: string; lastUsedAt?: string; usageCount?: number; newApiKey?: string; error?: string; } export interface SecurityQuestionRequest { question: string; strategyId?: string; } export interface SecurityQuestionResponse { success: boolean; answer?: string; error?: string; } export declare class ApiController { private readonly authService; private readonly genAISolverService; private readonly apiKeyModel; private readonly logger; constructor(authService: AuthService, genAISolverService: GenAISolverService, apiKeyModel: Model); getApiKeyScopes(apiKey: string): Promise; createApiKey(request: CreateApiKeyRequest): Promise; debugApiKey(keyId: string): Promise; solveSecurityQuestion(request: SecurityQuestionRequest): Promise; healthCheck(): Promise<{ status: string; service: string; timestamp: string; version: string; }>; }