import MemoryTable from "./base.cjs";
import { IAccountState, IOperationContext } from "@ocap/types";

//#region src/table/account.d.ts
interface AccountOperationContext extends IOperationContext {
  traceMigration?: boolean;
}
/**
 * Account 表
 * 扩展基础表，增加账户迁移追踪功能
 */
declare class AccountStateDB extends MemoryTable<IAccountState> {
  _get(address: string, context?: AccountOperationContext): Promise<IAccountState | null>;
  _create(key: string, attrs?: Partial<IAccountState>, context?: IOperationContext): Promise<IAccountState>;
  _update(key: string, updates: Partial<IAccountState>, context?: IOperationContext): Promise<IAccountState>;
}
//#endregion
export { AccountStateDB as default };