/** * Edubridge Client Factory * * Creates EdubridgeClient classes bound to specific provider registries. */ import { AnalyticsResource, ApplicationsResource, EnrollmentsResource, LearningReportsResource, SubjectTrackResource, UsersResource } from './resources'; import type { AuthCheckResult, ProviderRegistry, TimebackProvider } from '@timeback/internal-client-infra'; import type { EdubridgeClientConfig, EdubridgeTransportLike } from './types'; /** * Create an EdubridgeClient class bound to a specific provider registry. * * @param registry - Provider registry to use (defaults to all Timeback platforms) * @returns EdubridgeClient class bound to the registry */ export declare function createEdubridgeClient(registry?: ProviderRegistry): { new (config?: EdubridgeClientConfig): { /** @internal */ readonly transport: EdubridgeTransportLike; /** @internal */ readonly _provider?: TimebackProvider | undefined; /** Query and manage student enrollments in courses, programs, and learning paths */ readonly enrollments: EnrollmentsResource; /** Query and manage user accounts and profiles in the learning platform */ readonly users: UsersResource; /** Access learning analytics including engagement metrics and progress tracking */ readonly analytics: AnalyticsResource; /** Query and manage student applications and admission workflows */ readonly applications: ApplicationsResource; /** Query and manage subject tracks defining structured learning paths and curricula */ readonly subjectTracks: SubjectTrackResource; /** Access detailed learning progress reports and completion status */ readonly learningReports: LearningReportsResource; /** * Get the underlying transport for advanced use cases. * @returns The transport instance used by this client */ getTransport(): EdubridgeTransportLike; /** * Verify that OAuth authentication is working. * @returns Auth check result * @throws {Error} If client was initialized with custom transport (no provider) */ checkAuth(): Promise; }; }; //# sourceMappingURL=factory.d.ts.map