import { FetchApi } from '@backstage/core-plugin-api'; import { UserInfo, VirtualKey, ModelInfo, UsageMetrics, TeamInfo, GenerateKeyRequest, GenerateKeyResponse, UpdateKeyRequest, AuditLogsParams, PaginatedAuditLogs, LiteLlmConfig, VectorStoreInfo, McpServerInfo, CreateTeamRequest, CreateTeamResponse, UpdateTeamRequest } from './types'; export interface LiteLlmApiInterface { getUserInfo(): Promise; listKeys(): Promise; generateKey(request: GenerateKeyRequest): Promise; updateKey(keyId: string, request: UpdateKeyRequest): Promise; deleteKey(keyId: string): Promise<{ success: boolean; }>; blockKey(keyId: string): Promise; unblockKey(keyId: string): Promise; resetKeySpend(keyId: string): Promise; pruneExpiredKeys(): Promise<{ pruned: number; }>; listModels(): Promise; getTeams(): Promise; getManagedTeams(): Promise; addTeamMember(teamId: string, body: { userEntityRef: string; maxBudgetInTeam?: number; }): Promise; removeTeamMember(teamId: string, userEntityRef: string): Promise; getVectorStores(): Promise; setTeamKnowledgeBases(teamId: string, vectorStores: string[]): Promise; getMcpServers(): Promise; setTeamMcpServers(teamId: string, mcpServers: string[]): Promise; getUsage(startDate: string, endDate: string): Promise; getTeamUsage(teamId: string, startDate: string, endDate: string): Promise; getAuditLogs(params: AuditLogsParams): Promise; getConfig(): Promise; createTeam(request: CreateTeamRequest): Promise; updateTeam(teamId: string, request: UpdateTeamRequest): Promise; } export declare const liteLlmApiRef: import("@backstage/core-plugin-api").ApiRef; export type ExpiryStatus = 'expired' | 'soon' | 'ok'; export declare function expiryStatus(expiresAt?: string): ExpiryStatus | null; export declare class LiteLlmApi implements LiteLlmApiInterface { private fetchApi; private basePath; constructor(fetchApi: FetchApi, basePath?: string); private throwIfNotOk; private get; private post; private del; private patch; private put; getUserInfo(): Promise; listKeys(): Promise; generateKey(request: GenerateKeyRequest): Promise; updateKey(keyId: string, request: UpdateKeyRequest): Promise; deleteKey(keyId: string): Promise<{ success: boolean; }>; blockKey(keyId: string): Promise; unblockKey(keyId: string): Promise; resetKeySpend(keyId: string): Promise; pruneExpiredKeys(): Promise<{ pruned: number; }>; getAuditLogs(params: AuditLogsParams): Promise; listModels(): Promise; getTeams(): Promise; getManagedTeams(): Promise; addTeamMember(teamId: string, body: { userEntityRef: string; maxBudgetInTeam?: number; }): Promise; removeTeamMember(teamId: string, userEntityRef: string): Promise; getVectorStores(): Promise; setTeamKnowledgeBases(teamId: string, vectorStores: string[]): Promise; getMcpServers(): Promise; setTeamMcpServers(teamId: string, mcpServers: string[]): Promise; getUsage(startDate: string, endDate: string): Promise; getTeamUsage(teamId: string, startDate: string, endDate: string): Promise; getConfig(): Promise; createTeam(request: CreateTeamRequest): Promise; updateTeam(teamId: string, request: UpdateTeamRequest): Promise; }