UNPKG

@codebluelife/cbl-base

Version:
66 lines (65 loc) 2.33 kB
import { ClassInterface } from "classInterface"; import type { Dict, CBLAccountMetadata, CBLAccountRole, CBLAccountPermissions, CBLCreateInvoice } from "types"; interface UpdateAccountBalance { amount: number; message?: string; } interface RemoveAccountBalance extends UpdateAccountBalance { overdraw?: boolean; } interface TransferAccountBalance { toId: number; amount: number; overdraw?: boolean; message?: string; note?: string; actorId?: number; } export declare class CBLAccount extends ClassInterface { accountId: number; protected static members: Dict<CBLAccount>; static get(accountId: number): Promise<CBLAccount>; static getAll(): Dict<CBLAccount>; constructor(accountId: number); get<T extends keyof CBLAccountMetadata>(key: T): Promise<CBLAccountMetadata[T]>; get<T extends keyof CBLAccountMetadata>(keys: T[]): Promise<Pick<CBLAccountMetadata, T>>; addBalance({ amount, message }: UpdateAccountBalance): Promise<{ success: boolean; message?: string; }>; removeBalance({ amount, overdraw, message, }: RemoveAccountBalance): Promise<{ success: boolean; message?: string; }>; transferBalance({ toId, amount, overdraw, message, note, actorId, }: TransferAccountBalance): Promise<{ success: boolean; message?: string; }>; depositMoney(playerId: number, amount: number, message?: string, note?: string): Promise<{ success: boolean; message?: string; }>; withdrawMoney(playerId: number, amount: number, message?: string, note?: string): Promise<{ success: boolean; message?: string; }>; deleteAccount(): Promise<{ success: boolean; message?: string; }>; getCharacterRole(id: number | string): Promise<CBLAccountRole | null>; setCharacterRole(id: number | string, role?: CBLAccountRole): Promise<0 | { success: boolean; message?: string; } | null>; playerHasPermission(playerId: number, permission: keyof CBLAccountPermissions): Promise<boolean>; setShared(): Promise<{ success: boolean; message?: string; }>; createInvoice(data: Omit<CBLCreateInvoice, "fromAccount">): Promise<{ success: boolean; message?: string; }>; } export {};