import { OAuth2TokenStorage, OAuth2Tokens, PKCEState } from '@docyrus/api-client'; export { OAuth2TokenStorage } from '@docyrus/api-client'; /** * ElectronAPI interface matching the preload bridge. * The Electron template exposes these IPC methods via contextBridge. */ interface ElectronStoreAPI { storeGet: (key: string) => Promise; storeSet: (key: string, value: string) => Promise; storeDelete: (key: string) => Promise; } /** * OAuth2TokenStorage implementation for Electron apps. * Stores tokens via IPC bridge to the main process (electron-store). * Falls back to localStorage if electronAPI is not available. */ declare class ElectronTokenStorage implements OAuth2TokenStorage { private readonly tokensKey; private readonly pkceKey; private readonly electronAPI; constructor(electronAPI?: ElectronStoreAPI, keyPrefix?: string); getTokens(): Promise; setTokens(tokens: OAuth2Tokens): Promise; clearTokens(): Promise; getPKCEState(): Promise; setPKCEState(state: PKCEState): Promise; clearPKCEState(): Promise; private storeGet; private storeSet; private storeDelete; } export { type ElectronStoreAPI, ElectronTokenStorage };