import { PortableRegistry } from '@polkadot/types'; import type { Si1LookupTypeId } from '@polkadot/types/interfaces'; import type { Codec } from '@polkadot/types/types'; import type { HexString, TypeStructure } from '../types'; export declare class GearMetadata { private registry; private regTypes; portableRegistry: PortableRegistry; constructor(hexRegistry: HexString); private prepare; private registerTypes; createType(typeIndex: number, payload: unknown): T; getTypeDef(typeIndex: number | Si1LookupTypeId): string | Record; getTypeDef(typeIndex: number | Si1LookupTypeId, additionalFields: false): string | Record; getTypeDef(typeIndex: number | Si1LookupTypeId, additionalFields: true): TypeStructure; getTypeDef(typeIndex: number | Si1LookupTypeId, additionalFields?: boolean): string | Record | TypeStructure; getTypeName(index: number | Si1LookupTypeId): any; getAllTypes(): import("@polkadot/types/types").RegistryTypes; getTypeIndexByName(typeName: string): number | null; }