import { Codec } from '../../types'; import { Option, Vec } from '../../codec'; import { Text, Type } from '../../primitive'; declare type Arg = { type: Type; } & Codec; declare type Item = { type: { isDoubleMap?: boolean; isMap: boolean; asDoubleMap?: { key1: Text; key2: Text; value: Text; }; asMap: { key: Text; value: Text; }; asType: Text; }; } & Codec; declare type Storage = Option | ({ functions?: Vec; items?: Vec; } & Codec)>; declare type Call = { args: Vec; } & Codec; declare type Calls = Option>; declare type Event = { args: Vec; } & Codec; declare type Events = Option>; declare type Module = { module?: { call: { functions: Vec; }; }; calls?: Calls; constants?: Vec<{ type: Text; } & Codec>; events?: Events; storage?: Storage; } & Codec; interface ExtractionMetadata { modules: Vec; outerEvent?: { events: Vec<[Text, Vec] & Codec>; }; } export default function getUniqTypes(meta: ExtractionMetadata, throwError: boolean): string[]; export {};