import type { FetchLike } from './transport.ts'; export interface TokenProvider { getAccessToken(): Promise; } /** Token ya emitido fuera del SDK (por ejemplo por un BFF). */ export declare function createStaticTokenProvider(accessToken: string): TokenProvider; export interface ClientCredentialsOptions { readonly tokenUrl: string; readonly clientId: string; readonly clientSecret: string; /** Scopes separados por espacio. Si se omite, el servidor concede los registrados. */ readonly scope?: string; readonly fetch?: FetchLike; readonly timeoutMs?: number; /** Segundos antes de `expires_in` en los que se renueva el token. Por defecto 30. */ readonly refreshSkewSeconds?: number; readonly now?: () => number; } /** * OAuth 2.0 `client_credentials` contra `POST /api/v1/client/oauth/token`. * Sólo para backend: el `clientSecret` nunca debe llegar a un navegador. * Cachea el token y lo renueva antes de expirar; una sola renovación en vuelo. */ export declare function createClientCredentialsProvider(options: ClientCredentialsOptions): TokenProvider; //# sourceMappingURL=auth.d.ts.map