import { Token } from '@microsoft/teams.common';
import { CloudEnvironment } from '../auth/cloud-environment.js';
import { ITokenProvider } from '../auth/credentials.js';
import { AgenticIdentity } from '../models/agentic-identity.js';

/**
 * @internal
 * Creates a common HTTP token callback backed by an {@link ITokenProvider}.
 * Resolves the token and emits `microsoft.teams.auth.outbound`; the common HTTP
 * client owns Authorization header injection.
 */
declare function createTokenProviderFactory(tokenProvider: ITokenProvider, defaultAgenticIdentity?: AgenticIdentity, cloud?: CloudEnvironment): Token;

export { createTokenProviderFactory };
