export interface ServerConfig { apifoxApiKey?: string; apifoxCookieToken?: string; projectId?: string; port: number; logLevel: 'debug' | 'info' | 'warn' | 'error'; } export type ExportScope = { type: 'ALL'; excludedByTags?: string[]; } | { type: 'SELECTED_ENDPOINTS'; selectedEndpointIds: number[]; excludedByTags?: string[]; } | { type: 'SELECTED_TAGS'; selectedTags: string[]; excludedByTags?: string[]; } | { type: 'SELECTED_FOLDERS'; selectedFolderIds: number[]; excludedByTags?: string[]; }; export interface ApifoxExportOptions { scope: ExportScope; options?: { includeApifoxExtensionProperties?: boolean; addFoldersToTags?: boolean; }; oasVersion?: '2.0' | '3.0' | '3.1'; exportFormat?: 'JSON' | 'YAML'; } export interface OpenApiDocument { openapi: string; info: { title: string; version: string; }; paths: Record; components?: Record; } export interface ApifoxUrlInfo { projectId: string; apiId: number; isValid: boolean; } export interface CachedApiMetadata { apiId: number; projectId: string; name: string; path: string; method: string; url?: string; cachedAt: number; } export interface CachedApiEntry { document: OpenApiDocument; metadata: CachedApiMetadata; } export interface ApiIndexEntry { projectId: string; apiId: number; } export interface CacheOptions { enabled?: boolean; ttl?: number; maxSize?: number; persistent?: boolean; persistentMaxSize?: number; syncInterval?: number; } export interface CacheStats { memory: { size: number; max: number; hits: number; misses: number; }; persistent?: { size: number; max: number; hits: number; }; indexes: { url: number; name: number; path: number; }; } export interface CacheData { apis: Record; urlIndex: Record; nameIndex: Record; pathIndex: Record; } export interface MockDataPoolData { global: Record; projects: Record>; } export interface FoxyMcpConfig { cache: CacheData; mockDataPool: MockDataPoolData; } //# sourceMappingURL=index.d.ts.map