import { BytesType } from "../chain/bytes.js"; import { BuiltinTypes } from "./builtins.js"; import { ABISerializable, ABISerializableConstructor, ABISerializableType } from "./serializable.js"; import { ABIDef } from "../chain/abi.js"; interface DecodeArgsBase { abi?: ABIDef; data?: BytesType | ABIDecoder; json?: string; object?: any; customTypes?: ABISerializableConstructor[]; metadata?: Record; strictExtensions?: boolean; ignoreInvalidUTF8?: boolean; } interface TypedDecodeArgs extends DecodeArgsBase { type: T; } interface BuiltinDecodeArgs extends DecodeArgsBase { type: T; } interface UntypedDecodeArgs extends DecodeArgsBase { type: ABISerializableType; } export declare function abiDecode(args: BuiltinDecodeArgs): BuiltinTypes[T]; export declare function abiDecode(args: TypedDecodeArgs): InstanceType; export declare function abiDecode(args: UntypedDecodeArgs): ABISerializable; export declare const Resolved: unique symbol; export declare class ABIDecoder { private array; static __className: string; private pos; private data; private textDecoder; metadata: Record; constructor(array: Uint8Array, textDecoder?: TextDecoder); canRead(bytes?: number): boolean; private ensure; setPosition(pos: number): void; getPosition(): number; advance(bytes: number): void; readByte(): number; readFloat(byteWidth: number): number; readVaruint32(): number; readVarint32(): number; readArray(length: number): Uint8Array; readString(): string; } export {}; //# sourceMappingURL=decoder.d.ts.map