import type { TokenErrorResponse, TokenFinalResponse } from 'dexie-cloud-common'; import { BehaviorSubject } from 'rxjs'; import { DexieCloudDB } from '../db/DexieCloudDB'; import { UserLogin } from '../db/entities/UserLogin'; import { DXCUserInteraction } from '../types/DXCUserInteraction'; import { LoginHints } from '../DexieCloudAPI'; export type FetchTokenCallback = (tokenParams: { public_key: string; hints?: LoginHints; }) => Promise; export declare function loadAccessToken(db: DexieCloudDB): Promise; export declare function authenticate(url: string, context: UserLogin, fetchToken: FetchTokenCallback, userInteraction: BehaviorSubject, hints?: LoginHints): Promise; export declare function refreshAccessToken(url: string, login: UserLogin): Promise;