/// import { IdlEvent, IdlTypeDef } from "../idl.js"; import { Event } from "../program/event.js"; export * from "./borsh/index.js"; export * from "./system/index.js"; /** * Coder provides a facade for encoding and decoding all IDL related objects. */ export interface Coder { /** * Instruction coder. */ readonly instruction: InstructionCoder; /** * Account coder. */ readonly accounts: AccountsCoder; /** * Coder for state structs. */ readonly state: StateCoder; /** * Coder for events. */ readonly events: EventCoder; /** * Coder for user-defined types. */ readonly types: TypesCoder; } export interface StateCoder { encode(name: string, account: T): Promise; decode(ix: Buffer): T; } export interface AccountsCoder { encode(accountName: A, account: T): Promise; decode(accountName: A, ix: Buffer): T; decodeUnchecked(accountName: A, ix: Buffer): T; memcmp(accountName: A, appendData?: Buffer): any; size(idlAccount: IdlTypeDef): number; } export interface InstructionCoder { encode(ixName: string, ix: any): Buffer; encodeState(ixName: string, ix: any): Buffer; } export interface EventCoder { decode>(log: string): Event | null; } export interface TypesCoder { encode(typeName: N, type: T): Buffer; decode(typeName: N, typeData: Buffer): T; } //# sourceMappingURL=index.d.ts.map