import { ClientConfig } from './types/config'; import { IpfsService } from './services/ipfs'; import { TasksService } from './services/tasks'; import { VAccountService } from './services/vaccount'; import { TokenService } from './services/token'; import { APIClient, FetchProvider, FetchProviderOptions } from '@wharfkit/antelope'; import { Name, Session } from "@wharfkit/session"; import { ActionService } from './services/actions'; import { AtomicAssetsService } from './services/atomic'; import { DaoService } from './services/dao'; export declare class Client { static __classname: string; readonly config: ClientConfig; readonly fetchProvider: FetchProvider; readonly eos: APIClient; session: Session; /** * Create a new Effect Network Client instance * @param {string} environment Which network you would like to connect to, defaults to 'jungle4' */ constructor(environment?: string, fetchProviderOptions?: FetchProviderOptions); tasks: TasksService; ipfs: IpfsService; vaccount: VAccountService; efx: TokenService; action: ActionService; atomic: AtomicAssetsService; dao: DaoService; /** * Login to the Effect Network with a session * @param session Session object */ loginWithSession(session: Session): void; /** * Login to the Effect Network with a private key * @param actor EOS account name of the user * @param permission EOS permission of the user * @param privateKey EOS private key of the user */ login(actor: string, permission: string, privateKey: string): void; /** * Logout from the Effect Network */ logout(): void; /** * Check if the user is logged in * @returns {boolean} Whether or not the user is logged in */ isLoggedIn(): boolean; /** * Require a session to be set (make sure user is logged in), otherwise throw an error. */ requireSession(): void; /** * Retrieve the actor and permission from the session * @returns [{ actor: Name; permission: Name }] */ sessionAuth: () => { actor: Name; permission: Name; }[]; }