import "../../../_dnt.polyfills.js"; import { Ty } from "../../../scale_info/raw/Ty.js"; export interface InkMetadata { source: Source; contract: Contract; spec: Spec; storage: Storage; types: Ty[]; version: string; } export interface Source { hash: string; language: string; compiler: string; wasm?: string; } export interface Contract { name: string; version: string; authors: string[]; description?: string; documentation?: string; repository?: string; homepage?: string; license?: string; } export interface User { json: Record; } export interface Spec { constructors: Ctor[]; docs: string[]; events: Event[]; messages: Message[]; } export interface Callable { selector: string; args: Arg[]; label: string; } export interface Ctor extends Callable { docs: string[]; payable: boolean; } export interface Arg { label: string; type: TypeRef; docs?: string[]; indexed?: boolean; } export interface Event { args: Arg[]; docs: string[]; label: string; } export interface TypeRef { displayName: string[]; type: number; } export interface Message extends Callable { docs: string[]; mutates: boolean; payable: boolean; returnType: TypeRef; } export interface Storage { struct: { fields: { layout: { cell: { key: string; ty: number; }; }; name: string; }[]; }; } export declare function normalize({ types, ...rest }: InkMetadata): InkMetadata; export declare function parse(jsonText: string): InkMetadata;