/** * Client Configuration Types */ import type { ClientConfig, EdubridgePaths, ProviderClientConfig, RequestOptions, ResolvedProvider, TransportConfigWithTokenProvider, TransportOnlyConfig } from '@timeback/internal-client-infra'; /** * Re-export vital config types for SDK users. */ export type { Environment, EnvAuth, ExplicitAuth, Platform } from '@timeback/internal-client-infra'; /** * Transport interface for Edubridge client. * * Extends base transport requirements with Edubridge-specific paths. * Required when using transport mode with EdubridgeClient. */ export interface EdubridgeTransportLike { /** Base URL of the API */ baseUrl: string; /** API path profiles for Edubridge operations */ paths: EdubridgePaths; /** Make an authenticated request */ request(path: string, options?: RequestOptions): Promise; } /** * All supported Edubridge client configuration types. * * Supports four modes: * - **Provider mode**: `{ provider: TimebackProvider }` — pre-built provider with token sharing * - **Environment mode**: `{ platform?, env, auth }` — Timeback hosted APIs * - **Explicit mode**: `{ baseUrl, auth: { authUrl } }` — custom API URLs * - **Transport mode**: `{ transport }` — custom transport with paths * * The `platform` field (in env mode) selects which Timeback implementation to use: * - `'BEYOND_AI'` (default): BeyondAI's Timeback platform * - `'LEARNWITH_AI'`: Samy's LearnWith.AI platform */ export type EdubridgeClientConfig = ClientConfig | TransportOnlyConfig | ProviderClientConfig; /** * Configuration for Edubridge transport. */ export interface EdubridgeTransportConfig extends TransportConfigWithTokenProvider { /** API path profiles for Edubridge operations */ paths: EdubridgePaths; } /** * Resolved provider type for Edubridge client. */ export type EdubridgeResolvedProvider = ResolvedProvider; /** * Instance type of EdubridgeClient. */ export type EdubridgeClientInstance = InstanceType; //# sourceMappingURL=client.d.ts.map