import Transport from '@ledgerhq/hw-transport';
import { ModuleInterface, ModuleType } from '../types';
export declare const LEDGER_ID = "LEDGER";
export declare class LedgerModule implements ModuleInterface {
    moduleType: ModuleType;
    productId: string;
    productName: string;
    productUrl: string;
    productIcon: string;
    private _transport?;
    transport(): Promise<Transport>;
    disconnect(): Promise<void>;
    /**
     * This always return true because in theory ledgers aren't supposed
     * to be connected at all time
     */
    isAvailable(): Promise<boolean>;
    runChecks(): Promise<void>;
    getAddress(opts?: {
        path?: string;
    }): Promise<{
        address: string;
    }>;
    /**
     * This method is used by the Wallets Kit itself, if you're a dApp developer, most likely you don't need to use this method.
     * @param page - {Number}
     */
    getAddresses(page?: number): Promise<{
        publicKey: string;
        index: number;
    }[]>;
    /**
     * This method is used by the Wallets Kit itself, if you're a dApp developer, most likely you don't need to use this method.
     */
    openAccountSelector(): Promise<{
        publicKey: string;
        index: number;
    }>;
    signTransaction(xdr: string, opts?: {
        networkPassphrase?: string;
        address?: string;
        path?: string;
        nonBlindTx?: boolean;
    }): Promise<{
        signedTxXdr: string;
        signerAddress?: string;
    }>;
    signAuthEntry(): Promise<{
        signedAuthEntry: string;
        signerAddress?: string;
    }>;
    signMessage(): Promise<{
        signedMessage: string;
        signerAddress?: string;
    }>;
    getNetwork(): Promise<{
        network: string;
        networkPassphrase: string;
    }>;
}
//# sourceMappingURL=ledger.module.d.ts.map