UNPKG

@lineai/bluebeam-api

Version:

Your unofficial library for Bluebeam API for human and AI developers. Provides TypeScript support, entity classes, and developer-friendly features. Perfect for AI coders, construction professionals, and document management tasks. Includes comprehensive JS

31 lines (30 loc) 1.69 kB
import { OAuthConfig, TokenResponse, TokenStorage } from '../types/auth'; import { HttpClient } from './http-client'; export declare const createAuthorizationUrl: (config: OAuthConfig, state: string) => string; export declare const exchangeCodeForToken: (httpClient: HttpClient, config: OAuthConfig, code: string, codeVerifier?: string) => Promise<TokenResponse>; export declare const refreshAccessToken: (httpClient: HttpClient, config: OAuthConfig, refreshToken: string) => Promise<TokenResponse>; export type TokenManager = { readonly getAccessToken: () => Promise<string | null>; readonly setTokens: (tokenResponse: TokenResponse) => Promise<void>; readonly refreshToken: () => Promise<TokenResponse>; readonly clearTokens: () => Promise<void>; }; export declare const createTokenManager: (httpClient: HttpClient, config: OAuthConfig, storage: TokenStorage) => Promise<TokenManager>; export type OAuthClientConfig = { readonly client_id: string; readonly client_secret: string; readonly redirect_uri: string; readonly scope: string; readonly base_url?: string; readonly tokenStorage?: TokenStorage; readonly httpClient?: HttpClient; }; export declare const createOAuthClient: (config: OAuthClientConfig) => Promise<{ createAuthorizationUrl: (state: string) => string; exchangeCodeForToken: (code: string, codeVerifier?: string) => Promise<TokenResponse>; refreshAccessToken: () => Promise<TokenResponse>; getAccessToken: () => Promise<string | null>; clearTokens: () => Promise<void>; setTokens: (tokenResponse: TokenResponse) => Promise<void>; }>; export type OAuthClient = Awaited<ReturnType<typeof createOAuthClient>>;