import { type StorageAdapter } from '@lifi/perps-sdk'; import type { ApproveReadOnlyTokenParams, LighterAccountConfig, LighterProviderKey } from '@lifi/perps-types'; import type { Address } from 'viem'; export declare const DEFAULT_READ_ONLY_TOKEN_NAME = "LI.FI Perps"; export interface LighterReadOnlyToken { token: string; expiry: number; scope: 'single' | 'all'; accountIndex: number; } export interface LighterCreateTokenResponse { api_token: string; account_index: number; expiry: number; scopes: string; } export type LighterTokenFetcher = (params: { url: string; authorization: string; name: string; accountIndex: number; expiry: number; subAccountAccess: boolean; scopes: string; }) => Promise; export interface LighterReadOnlyTokenManagerOptions { storage?: StorageAdapter; providerKey?: LighterProviderKey; lighterApiUrl?: string; fetcher?: LighterTokenFetcher; now?: () => number; } export interface ApproveReadOnlyTokenInputs extends ApproveReadOnlyTokenParams { address: Address; } export interface ApproveReadOnlyTokenResult { token: LighterReadOnlyToken; config: Pick; } export declare class LighterReadOnlyTokenManager { private readonly storage; private readonly providerKey; private readonly lighterApiUrl; private readonly fetcher; private readonly now; private readonly cache; constructor(options?: LighterReadOnlyTokenManagerOptions); private storageKey; private isExpired; get(address: Address, accountIndex: number): Promise; isReadOnlyTokenExpiringSoon(address: Address, accountIndex: number, thresholdDays?: number): Promise; set(address: Address, accountIndex: number, token: LighterReadOnlyToken): Promise; remove(address: Address, accountIndex: number): Promise; approve(authorization: string, inputs: ApproveReadOnlyTokenInputs): Promise; } export declare const defaultLighterTokenFetcher: LighterTokenFetcher; //# sourceMappingURL=LighterReadOnlyTokenManager.d.ts.map