export declare enum TrustCommand {
    signMessage = "sign-message",
    signPersonalMessage = "sign-personal-message",
    signTransaction = "sign-transaction",
}
/**
 * @typedef {Object} Result
 * @property {string} id payload id
 * @property {string} result result value
 * @property {string} error error message
 */
export declare namespace TrustCommand {
    /**
     * helper method to parse url called back from Trust
     * @param urlString url called back
     * @returns {Result} parsed result
     */
    function parseURL(urlString: string): {
        id: string;
        result: string;
        error: string;
    };
    /**
     * generate url for Linking.openURL
     * @param data concrete command payload
     * @param scheme target wallet scheme default: trust://
     */
    function getURL(data: Payload, scheme?: string): string;
}
/**
 * Abstract Payload for TrustCommand
 */
export interface Payload {
    id: string;
    type: TrustCommand;
    callbackScheme: string;
    toQuery(): string;
}
/**
 * MessagePayload for TrustCommand.signMessage|.signPersonalMessage
 */
export declare class MessagePayload implements Payload {
    id: string;
    message: string;
    address: string;
    callbackScheme: string;
    type: TrustCommand;
    /**
     * constructor
     * @param message message to sign
     * @param address optional wallet address
     * @param callbackScheme scheme for Trust calls back
     */
    constructor(message: string, address?: string, callbackScheme?: string);
    toQuery(): string;
}
/**
 * TransactionPayload for TrustCommand.signTransaction
 */
export declare class TransactionPayload implements Payload {
    id: string;
    gasPrice: string;
    gasLimit: string;
    to: string;
    amount: string;
    nonce: string;
    data: string;
    callbackScheme: string;
    type: TrustCommand;
    /**
     * constructor
     * @param to EIP55 Address
     * @param amount Amount
     * @param data optioanl transaction data represented by hex string
     * @param gasPrice default: 21, unit: Gwei
     * @param gasLimit default: 21000
     * @param nonce default: 0
     * @param callbackScheme scheme for Trust calls back
     */
    constructor(to: string, amount: string, data?: string, gasPrice?: string, gasLimit?: string, nonce?: string, callbackScheme?: string);
    toQuery(): string;
}
