import { GraphQLClient } from "../graphql/client"; import { GitLabVersionDetector, GitLabInstanceInfo } from "./GitLabVersionDetector"; import { SchemaIntrospector, SchemaInfo } from "./SchemaIntrospector"; import { TokenScopeInfo } from "./TokenScopeDetector"; export declare class ConnectionManager { private static instance; private client; private versionDetector; private schemaIntrospector; private instanceInfo; private schemaInfo; private tokenScopeInfo; private isInitialized; private currentInstanceUrl; private introspectedInstanceUrl; private introspectionPromises; private static introspectionCache; private static readonly CACHE_TTL; private constructor(); static getInstance(): ConnectionManager; initialize(instanceUrl?: string): Promise; ensureIntrospected(): Promise; private doIntrospection; getClient(): GraphQLClient; getInstanceClient(instanceUrl?: string, authHeaders?: Record): GraphQLClient; getVersionDetector(): GitLabVersionDetector; getSchemaIntrospector(): SchemaIntrospector; getInstanceInfo(): GitLabInstanceInfo; getSchemaInfo(): SchemaInfo; getCurrentInstanceUrl(): string | null; isFeatureAvailable(feature: keyof GitLabInstanceInfo["features"]): boolean; getTier(): string; getVersion(): string; isWidgetAvailable(widgetType: string): boolean; getTokenScopeInfo(): TokenScopeInfo | null; refreshTokenScopes(): Promise; private detectVersionViaREST; private getDefaultFeatures; reinitialize(newInstanceUrl: string): Promise; reset(): void; }