import { DoubleMapTypeV4, MapTypeV4, PlainTypeV4, StorageFunctionModifierV4 } from '../../interfaces/metadata'; import { AnyNumber } from '../../types'; import Enum from '../../codec/Enum'; import Struct from '../../codec/Struct'; import Vec from '../../codec/Vec'; import Bytes from '../../primitive/Bytes'; import Text from '../../primitive/Text'; export declare class StorageFunctionType extends Enum { constructor(value?: any, index?: number); /** * @description The value as a mapped value */ readonly asDoubleMap: DoubleMapTypeV4; /** * @description The value as a mapped value */ readonly asMap: MapTypeV4; /** * @description The value as a [[Type]] value */ readonly asType: PlainTypeV4; /** * @description `true` if the storage entry is a doublemap */ readonly isDoubleMap: boolean; /** * @description `true` if the storage entry is a map */ readonly isMap: boolean; /** * @description `true` if the storage entry is a plain type */ readonly isPlainType: boolean; /** * @description Returns the string representation of the value */ toString(): string; } export interface StorageFunctionMetadataValue { name: string | Text; modifier: StorageFunctionModifierV4 | AnyNumber; type: StorageFunctionType; fallback: Bytes; documentation: Vec | string[]; } /** * @name StorageFunctionMetadata * @description * The definition of a storage function */ export declare class StorageFunctionMetadata extends Struct { constructor(value?: StorageFunctionMetadataValue | Uint8Array); /** * @description The default value of the storage function */ readonly fallback: Bytes; /** * @description The [[Text]] documentation */ readonly documentation: Vec; /** * @description The key name */ readonly name: Text; /** * @description The modifier */ readonly modifier: StorageFunctionModifierV4; /** * @description The [[StorageFunctionType]] */ readonly type: StorageFunctionType; }