import type { Observable } from 'rxjs';
import type { DecoratedRpc, QueryableCalls, QueryableConsts, QueryableStorage, QueryableStorageMulti, SubmittableExtrinsics } from '@polkadot/api-base/types';
import type { RpcInterface } from '@polkadot/rpc-core/types';
import type { Metadata } from '@polkadot/types';
import type { Hash, RuntimeVersion } from '@polkadot/types/interfaces';
import type { Registry, Signer } from '@polkadot/types/types';
export interface ApiInterfaceRx {
    call: QueryableCalls<'rxjs'>;
    consts: QueryableConsts<'rxjs'>;
    extrinsicType: number;
    genesisHash?: Hash | undefined;
    hasSubscriptions: boolean;
    registry: Registry;
    runtimeMetadata: Metadata;
    runtimeVersion: RuntimeVersion;
    query: QueryableStorage<'rxjs'>;
    queryMulti: QueryableStorageMulti<'rxjs'>;
    rpc: DecoratedRpc<'rxjs', RpcInterface>;
    tx: SubmittableExtrinsics<'rxjs'>;
    signer?: Signer | undefined;
    callAt: (blockHash: Uint8Array | string, knownVersion?: RuntimeVersion) => Observable<QueryableCalls<'rxjs'>>;
    queryAt: (blockHash: Uint8Array | string, knownVersion?: RuntimeVersion) => Observable<QueryableStorage<'rxjs'>>;
}
