// Copyright 2017-2021 @polkadot/types authors & contributors // SPDX-License-Identifier: Apache-2.0 export type DefinitionTypeType = string; export type DefinitionTypeEnum = { _enum: DefinitionTypeType[] } | { _enum: Record }; export type DefinitionTypeSet = { _set: Record }; export type DefinitionTypeStruct = Record | { _alias?: Record } & Record; export type DefinitionType = string | DefinitionTypeEnum | DefinitionTypeSet | DefinitionTypeStruct; export interface DefinitionRpcParam { isCached?: boolean; isHistoric?: boolean; isOptional?: boolean; name: string; type: DefinitionTypeType; } export interface DefinitionRpc { alias?: string[]; aliasSection?: string; description: string; endpoint?: string; isSigned?: boolean; params: DefinitionRpcParam[]; type: DefinitionTypeType; } export interface DefinitionRpcExt extends DefinitionRpc { isSubscription: boolean; jsonrpc: string; method: string; pubsub?: [string, string, string]; section: string; } export interface DefinitionRpcSub extends DefinitionRpc { pubsub: [string, string, string]; } export type DefinitionsRpc = Record; export type DefinitionsTypes = Record; export interface Definitions { rpc: DefinitionsRpc; types: DefinitionsTypes; }