import { RpcCore } from "@polkadot/rpc-core";
import type { RpcInterface } from "@polkadot/rpc-core/types/jsonrpc";
import type { WsProvider } from "@polkadot/rpc-provider";
import { Option, u32, u128 } from "@polkadot/types";
import type { ExtrinsicStatus, Hash } from "@polkadot/types/interfaces";
import type { Codec, IExtrinsicEra, Signer } from "@polkadot/types/types";
import { LiteRegistry } from "./registry";
import { BehaviorSubject } from "rxjs";
declare type FeeSignedExtension = "ChargeAssetTxPayment" | "ChargeTransactionPayment";
interface ConstructorParams {
    skipRegistry?: boolean;
    noEnum?: boolean;
    feeSignedExtension?: FeeSignedExtension;
    feeAssetId?: number;
    noCheckZeroSpenderExrension?: boolean;
    noRuntimeCalls?: boolean;
}
declare class ApiLite {
    #private;
    readonly isConnected: BehaviorSubject<boolean>;
    _debug: boolean;
    readonly registry: LiteRegistry;
    readonly rpc: RpcCore & RpcInterface;
    get genesisHash(): string;
    static create(provider: WsProvider, params?: ConstructorParams): import("rxjs").Observable<ApiLite>;
    constructor(provider: WsProvider, { skipRegistry, noEnum, feeSignedExtension, feeAssetId, ...other }?: ConstructorParams);
    account(addresses: string[]): import("rxjs").Observable<({
        nonce: u32;
        consumer: u32;
        providers: u32;
        sufficients: u32;
        data: {
            free: u128;
            reserved: u128;
            miscFrozen: u128;
            feeFrozen: u128;
        };
    } | undefined)[]>;
    /** @deprecated for now; need to parse events w/o metadata */
    eventsAt(blockHash: Hash): import("rxjs").Observable<[Option<Codec>]>;
    pubByAddress(address: string): string;
    createTx: (callIndex: string, ...args: string[]) => {
        _api: ApiLite;
        _getFakeSigMessage: (address: string) => import("rxjs").Observable<string>;
        _method: string;
        paymentInfo: (address: string) => import("rxjs").Observable<Codec | undefined>;
        signAndSend: (address: string, signer: Signer, { era }: {
            era?: IExtrinsicEra | undefined;
        }) => import("rxjs").Observable<ExtrinsicStatus | undefined>;
        method: string;
    };
    batchAll(methods: string[]): {
        _getFakeSigMessage: (address: string) => import("rxjs").Observable<string>;
        paymentInfo: (address: string) => import("rxjs").Observable<import("@polkadot/types/interfaces").RuntimeDispatchInfoV1>;
        signAndSend: (address: string, signer: Signer, { era }: {
            era?: IExtrinsicEra | undefined;
        }) => import("rxjs").Observable<ExtrinsicStatus | undefined>;
        method: string;
    };
    systemRemark(data: string): {
        _getFakeSigMessage: (address: string) => import("rxjs").Observable<string>;
        paymentInfo: (address: string) => import("rxjs").Observable<import("@polkadot/types/interfaces").RuntimeDispatchInfoV1>;
        signAndSend: (address: string, signer: Signer, { era }: {
            era?: IExtrinsicEra | undefined;
        }) => import("rxjs").Observable<ExtrinsicStatus | undefined>;
        method: string;
    };
    balanceTransfer(pub: string, amount: string): {
        _getFakeSigMessage: () => import("rxjs").Observable<string>;
        paymentInfo: () => import("rxjs").Observable<import("@polkadot/types/interfaces").RuntimeDispatchInfoV1>;
        signAndSend: (signer: Signer, { era }: {
            era?: IExtrinsicEra | undefined;
        }) => import("rxjs").Observable<ExtrinsicStatus | undefined>;
        method: string;
    };
    xcmTransfer(pub: string, amount: string): {
        _getFakeSigMessage: () => import("rxjs").Observable<string>;
        paymentInfo: () => import("rxjs").Observable<import("@polkadot/types/interfaces").RuntimeDispatchInfoV1>;
        signAndSend: (signer: Signer, { era }: {
            era?: IExtrinsicEra | undefined;
        }) => import("rxjs").Observable<ExtrinsicStatus | undefined>;
    };
    disconnect(): void;
}
export default ApiLite;
