import type Transport from '@ledgerhq/hw-transport';
import AccountBase from './Base.js';
import { Encoded } from '../utils/encoder.js';
export declare const CLA = 224;
export declare const GET_ADDRESS = 2;
export declare const SIGN_TRANSACTION = 4;
export declare const GET_APP_CONFIGURATION = 6;
export declare const SIGN_PERSONAL_MESSAGE = 8;
/**
 * Ledger wallet account class
 * @category account
 */
export default class AccountLedger extends AccountBase {
    readonly transport: Transport;
    readonly index: number;
    readonly address: Encoded.AccountAddress;
    /**
     * @param transport - Connection to Ledger to use
     * @param index - Index of account
     * @param address - Address of account
     */
    constructor(transport: Transport, index: number, address: Encoded.AccountAddress);
    /**
     * @deprecated Use `unsafeSign` method instead
     */
    sign(): Promise<Uint8Array>;
    unsafeSign(): Promise<Uint8Array>;
    signTypedData(): Promise<Encoded.Signature>;
    signDelegation(): Promise<Encoded.Signature>;
    signTransaction(tx: Encoded.Transaction, { innerTx, networkId }?: {
        innerTx?: boolean;
        networkId?: string;
    }): Promise<Encoded.Transaction>;
    signMessage(messageStr: string): Promise<Uint8Array>;
}
