import { Observable } from "rxjs";
import type { Account, AccountLike, AccountLikeArray } from "@ledgerhq/types-live";
import type { Transaction } from "../types";
declare const options: ({
    name: string;
    type: StringConstructor;
    desc: string;
    multiple?: undefined;
} | {
    name: string;
    type: StringConstructor;
    desc: string;
    multiple: boolean;
})[];
declare function inferAccounts(account: Account, opts: Record<string, any>): AccountLikeArray;
declare function inferTransactions(transactions: Array<{
    account: AccountLike;
    transaction: Transaction;
}>, opts: Record<string, any>, { inferAmount }: any): Transaction[];
declare const tezosListBakers: {
    args: ({
        name: string;
        desc: string;
        type: BooleanConstructor;
    } | {
        name: string;
        desc: string;
        type: StringConstructor;
    })[];
    job: ({ whitelist, format, }: Partial<{
        whitelist: boolean;
        format: "json" | "default";
    }>) => Observable<string>;
};
export type CliTools = {
    options: typeof options;
    inferTransactions: (transactions: Array<{
        account: AccountLike;
        transaction: Transaction;
    }>, opts: Record<string, any>, { inferAmount }: any) => Transaction[];
    commands: {
        tezosListBakers: typeof tezosListBakers;
    };
};
export default function makeCliTools(): {
    options: ({
        name: string;
        type: StringConstructor;
        desc: string;
        multiple?: undefined;
    } | {
        name: string;
        type: StringConstructor;
        desc: string;
        multiple: boolean;
    })[];
    inferAccounts: typeof inferAccounts;
    inferTransactions: typeof inferTransactions;
    commands: {
        tezosListBakers: {
            args: ({
                name: string;
                desc: string;
                type: BooleanConstructor;
            } | {
                name: string;
                desc: string;
                type: StringConstructor;
            })[];
            job: ({ whitelist, format, }: Partial<{
                whitelist: boolean;
                format: "json" | "default";
            }>) => Observable<string>;
        };
    };
};
export {};
//# sourceMappingURL=cli.d.ts.map