export * from './bindings'; import { Account, Transfer, CreateAccountResult, CreateTransferResult, AccountFilter, AccountBalance, QueryFilter } from './bindings'; export type Context = object; export type AccountID = bigint; export type TransferID = bigint; export type Event = Account | Transfer | AccountID | TransferID | AccountFilter | QueryFilter; export type Result = CreateAccountResult | CreateTransferResult | Account | Transfer | AccountBalance; export type ResultCallback = (error: Error | null, results: Result[] | null) => void; export declare const amount_max: bigint; export declare const ErrorCodes: { readonly ERR_CLIENT_CLOSED: "ERR_CLIENT_CLOSED"; readonly ERR_CLIENT_EVICTED: "ERR_CLIENT_EVICTED"; readonly ERR_CLIENT_RELEASE_TOO_LOW: "ERR_CLIENT_RELEASE_TOO_LOW"; readonly ERR_CLIENT_RELEASE_TOO_HIGH: "ERR_CLIENT_RELEASE_TOO_HIGH"; readonly ERR_TOO_MUCH_DATA: "ERR_TOO_MUCH_DATA"; }; export type ErrorCodes = typeof ErrorCodes[keyof typeof ErrorCodes]; export declare class RequestError extends Error { code: ErrorCodes; constructor(code: ErrorCodes); static errorMessage(code: ErrorCodes): string; } export interface ClientInitArgs { cluster_id: bigint; replica_addresses: Array; } export interface Client { createAccounts: (batch: Account[]) => Promise; createTransfers: (batch: Transfer[]) => Promise; lookupAccounts: (batch: AccountID[]) => Promise; lookupTransfers: (batch: TransferID[]) => Promise; getAccountTransfers: (filter: AccountFilter) => Promise; getAccountBalances: (filter: AccountFilter) => Promise; queryAccounts: (filter: QueryFilter) => Promise; queryTransfers: (filter: QueryFilter) => Promise; destroy: () => void; } export declare function createClient(args: ClientInitArgs): Client; export declare function id(): bigint;