import { Transport } from '@coolwallet/core';
export { Transport };
export declare type BasePayment = {
    TransactionType: string;
    Flags?: number;
    Sequence: number;
    DestinationTag?: number;
    LastLedgerSequence: number;
    Fee: string;
    SigningPubKey?: string;
    Account?: string;
    TxnSignature?: string;
    Memos?: Array<{
        Memo: Memo;
    }>;
};
export declare type Payment = BasePayment & {
    Amount: string;
    Destination: string;
};
export declare type TokenPayment = BasePayment & {
    Token: IouToken & {
        value: string;
    };
};
export declare type IouTransferPayment = BasePayment & {
    Token: IouToken & {
        value: string;
    };
    Destination: string;
};
export declare type Memo = {
    MemoType?: string;
    MemoData: string;
    MemoFormat?: string;
};
export declare type IouToken = {
    name: string;
    code: string;
    issuer: string;
};
export declare type Transaction = {
    to: string;
    value: string;
};
export declare type SignTxType = {
    transport: Transport;
    appPrivateKey: string;
    appId: string;
    payment: Payment;
    addressIndex: number;
    confirmCB?(): void;
    authorizedCB?(): void;
};
export declare type SignMsgType = {
    transport: Transport;
    appPrivateKey: string;
    appId: string;
    message: string;
    addressIndex: number;
    confirmCB?(): void;
    authorizedCB?(): void;
};
export declare type SignTrustSetType = {
    transport: Transport;
    appPrivateKey: string;
    appId: string;
    tokenPayment: TokenPayment;
    addressIndex: number;
    confirmCB?(): void;
    authorizedCB?(): void;
};
export declare type SignIouTransferType = {
    transport: Transport;
    appPrivateKey: string;
    appId: string;
    iouPayment: IouTransferPayment;
    addressIndex: number;
    confirmCB?(): void;
    authorizedCB?(): void;
};
