import { VM } from "./vm"; import { TableView } from "./table"; import { API, ABI, Name, NameType, PermissionLevelType, ABIDef, TransactionHeader, TimePoint } from "@greymass/eosio"; import { Blockchain } from "./blockchain"; import BN from "bn.js"; export type AccountArgs = Omit, 'name' | 'abi' | 'wasm'> & { name: NameType; abi?: ABIDef | Promise; wasm?: Uint8Array | Promise; enableInline?: boolean; privileged?: boolean; }; export declare class Account { readonly name: Name; readonly bc: Blockchain; readonly creationTime: TimePoint; readonly actions: { [key: string]: (actionData?: any[] | object) => { send: (authorization?: string | PermissionLevelType | PermissionLevelType[], options?: Partial) => Promise; }; }; readonly tables: { [key: string]: (scope?: bigint | BN) => TableView; }; privileged: boolean; permissions: API.v1.AccountPermission[]; wasm?: Uint8Array; codeSequence: number; abi?: ABI; vm?: VM; constructor(args: AccountArgs); get isContract(): boolean; toBigInt(): bigint; recreateVm(): Promise; setContract(abi: ABIDef, wasm: Uint8Array): void; setPermissions(permissions: API.v1.AccountPermission[]): void; buildActions(): void; buildTables(): void; }