import type { AnyJson, AnyTuple } from '@polkadot/types-codec/types';
import type { StorageEntryMetadataLatest } from '../interfaces/metadata/index.js';
import type { IStorageKey, Registry } from '../types/index.js';
import type { StorageEntry } from './types.js';
import { Bytes } from '@polkadot/types-codec';
interface StorageKeyExtra {
method: string;
section: string;
}
/**
* @name StorageKey
* @description
* A representation of a storage key (typically hashed) in the system. It can be
* constructed by passing in a raw key or a StorageEntry with (optional) arguments.
*/
export declare class StorageKey extends Bytes implements IStorageKey {
#private;
constructor(registry: Registry, value?: string | Uint8Array | StorageKey | StorageEntry | [StorageEntry, unknown[]?], override?: Partial);
/**
* @description Return the decoded arguments (applicable to map with decodable values)
*/
get args(): A;
/**
* @description The metadata or `undefined` when not available
*/
get meta(): StorageEntryMetadataLatest | undefined;
/**
* @description The key method or `undefined` when not specified
*/
get method(): string | undefined;
/**
* @description The output type
*/
get outputType(): string;
/**
* @description The key section or `undefined` when not specified
*/
get section(): string | undefined;
is(key: IStorageKey): key is IStorageKey;
/**
* @description Sets the meta for this key
*/
setMeta(meta?: StorageEntryMetadataLatest, section?: string, method?: string): this;
/**
* @description Returns the Human representation for this type
*/
toHuman(_isExtended?: boolean, disableAscii?: boolean): AnyJson;
/**
* @description Returns the raw type for this
*/
toRawType(): string;
}
export {};