import { IProvider, ISigner } from './altvm.js'; type AddrMap = Record; export type AnnotatedTx = { annotation?: string; [key: string]: any; }; export type TxReceipt = { [key: string]: any; }; export interface ModuleType { config: unknown; derived: unknown; addresses: AddrMap; } export type Config = M['config']; export type Derived = M['derived']; export type Addresses = M['addresses']; export interface HypModuleArgs { addresses: Addresses; chain: string | number; config: string | Config; } export interface HypReader { read(address: string): Promise>; } export interface HypModule { read(): Promise>; serialize(): Addresses; update(config: Config): Promise; } export interface ModuleProvider { connectReader: (provider: IProvider) => HypReader; connectModule: (signer: ISigner, args: HypModuleArgs) => HypModule; createModule: (signer: ISigner, config: Config) => Promise>; } export {}; //# sourceMappingURL=module.d.ts.map