import { Checksum256, Name, PrivateKeyType, PublicKeyType } from '@greymass/eosio'; import { IProtonLinkSessionManagerSessionExtended } from './session'; import { ProtonLinkSessionManagerSession } from './session'; export interface ProtonLinkSessionManagerStorageOptions { linkId: string; linkUrl: string; requestKey: PrivateKeyType; sessions: ProtonLinkSessionManagerSession[]; } declare type TSetSessionsSync = (storage: ProtonLinkSessionManagerStorageOptions) => Promise; declare type TGetSessions = () => ProtonLinkSessionManagerSession[]; declare type TProtonLinkSessionManagerStorageOptions = Omit; export declare class ProtonLinkSessionManagerStorage { linkId: string; linkUrl: string; requestKey: PrivateKeyType; private setSessionsSync; private getSessions; private findSessionIndex; constructor(options: TProtonLinkSessionManagerStorageOptions, setSessionsSync: TSetSessionsSync, getSessions: TGetSessions); get sessions(): IProtonLinkSessionManagerSessionExtended[]; set sessions(sessions: IProtonLinkSessionManagerSessionExtended[]); add(session: IProtonLinkSessionManagerSessionExtended): void; get(chainId: Checksum256, account: Name, permission: Name): IProtonLinkSessionManagerSessionExtended | undefined; updateLastUsed(publicKey: PublicKeyType): boolean; getByPublicKey(publicKey: PublicKeyType): IProtonLinkSessionManagerSessionExtended | undefined; has(publicKey: PublicKeyType): boolean; clear(): void; remove(session: IProtonLinkSessionManagerSessionExtended): void; serialize(): string; static unserialize(raw: string, setSessionsSync: TSetSessionsSync, getSessions: TGetSessions): ProtonLinkSessionManagerStorage; } export {};