import { TokenManager as OAuthTokenManager } from '../api/oauth.ts'; import { type ByteWindow } from '../../utils/ranges.ts'; export interface DropboxConfig { clientId: string; clientSecret?: string; refreshToken: string; /** * Base URL overriding the real Dropbox hosts (integ fakes): one origin * serving `/oauth2/token`, the RPC API under `/2`, and content downloads * under `/2`. Unset means the production oauth/api/content hosts. */ endpoint?: string; refreshFn?: (refreshToken: string) => Promise<{ accessToken: string; expiresIn: number; }>; } export declare class DropboxApiError extends Error { readonly status: number; /** Dropbox `error_summary` (e.g. "path/not_found/..", "path/conflict/folder/.."). */ readonly summary: string; constructor(message: string, status: number, summary?: string); } export declare class DropboxTokenManager extends OAuthTokenManager { readonly apiBase: string; readonly contentBase: string; private readonly config; constructor(config: DropboxConfig); protected refreshPair(): Promise<[string, number]>; } export declare function dropboxRpc(tm: DropboxTokenManager, endpoint: string, body: unknown): Promise; export declare function dropboxUpload(tm: DropboxTokenManager, path: string, data: Uint8Array): Promise; export declare function dropboxDownload(tm: DropboxTokenManager, path: string, window?: ByteWindow): Promise; export declare function dropboxDownloadStream(tm: DropboxTokenManager, path: string): AsyncIterable; //# sourceMappingURL=client.d.ts.map