import "../_dnt.polyfills.js"; import * as $ from "../deps/scale.js"; import { FrameMetadata } from "../frame_metadata/mod.js"; import { Connection } from "../rpc/mod.js"; import { Rune, RunicArgs } from "../rune/mod.js"; import { BlockHashRune } from "./BlockHashRune.js"; import { CodecRune } from "./CodecRune.js"; import { ConnectionRune } from "./ConnectionRune.js"; import { ExtrinsicRune } from "./ExtrinsicRune.js"; import { PalletRune } from "./PalletRune.js"; export interface Chain { connection: Connection; metadata: M; } export declare namespace Chain { type Call = $.Output; type Address = $.Output; type Signature = $.Output; type Extra = $.Output; type Additional = $.Output; type Pallets = C["metadata"]["pallets"]; type PalletName = keyof Pallets; type Pallet> = Pallets[P]; type Constants> = Pallet["constants"]; type ConstantName> = keyof Constants; type Constant, K extends ConstantName> = Constants[K]; namespace Constant { type Value, K extends ConstantName> = $.Output["codec"]>; } type StorageEntries> = Pallet["storage"]; type StorageName> = keyof StorageEntries; type Storage, S extends StorageName> = StorageEntries[S]; namespace Storage { type Key, S extends StorageName> = $.Output["key"]>; type PartialKey, S extends StorageName> = $.Output["partialKey"]>; type Value, S extends StorageName> = $.Output["value"]>; } } export declare class ChainRune extends Rune { static from(connect: (signal: AbortSignal) => Connection, staticMetadata?: M): ChainRune<{ connection: Connection; metadata: FrameMetadata | Rune.T; }, import("../rpc/rpc_messages.js").ConnectionError | import("../rpc/rpc_messages.js").ServerError | Rune.U>; with(connect: (signal: AbortSignal) => Connection): ChainRune; connection: ConnectionRune; metadata: Rune.ValueRune; $extrinsic: CodecRune, import("../frame_metadata/Extrinsic.js").Extrinsic, U>; latestBlockNum: Rune.ValueRune; latestBlockHash: BlockHashRune>; blockHash(...[blockHash]: RunicArgs): BlockHashRune | Rune.U>; extrinsic(...args: RunicArgs]>): ExtrinsicRune>; pallet

, X>(...[palletName]: RunicArgs): PalletRune | Rune.U

>; addressPrefix(): Rune.ValueRune<$.Output["codec"]>, $.ScaleError | U>; chainVersion: Rune.ValueRune; } export interface AddressPrefixChain extends Chain { metadata: FrameMetadata & { pallets: { System: { constants: { SS58Prefix: { codec: $.Codec; }; }; }; }; }; }