///
import type { TransactionRequest } from '@ethersproject/abstract-provider';
import type { HDNode } from '@ethersproject/hdnode';
import type { UnsignedTransaction } from '@ethersproject/transactions';
import { Client } from 'gridplus-sdk';
import type { DerivationPath } from '../../dpaths';
import type { DeterministicAddress, TAddress } from '../../types';
import type { Wallet } from '../../wallet';
import { HardwareWallet } from './hardware-wallet';
export interface GridPlusConfiguration extends GridPlusCredentials {
name: string;
}
export interface GridPlusCredentials {
deviceID?: string;
password?: string;
}
export declare class GridPlusWalletInstance implements Wallet {
private config;
private client;
private readonly path;
private address?;
constructor(config: GridPlusConfiguration, client: Client, path: string, address?: TAddress | undefined);
getClient(): Promise;
buildSigningRequest(fwVersion: {
fix: number;
minor: number;
major: number;
} | null, type: number | undefined, transaction: UnsignedTransaction): Promise<{
data: {
payload: Buffer;
curveType: number;
hashType: number;
encodingType: number;
signerPath: number[];
decoder: Buffer | undefined;
};
currency?: undefined;
} | {
currency: string;
data: {
signerPath: number[];
accessList?: import("@ethersproject/transactions").AccessListish | undefined;
payload?: undefined;
curveType?: undefined;
hashType?: undefined;
encodingType?: undefined;
decoder?: undefined;
};
}>;
signTransaction(rawTx: TransactionRequest): Promise;
signMessage(message: string): Promise;
getAddress(): Promise;
getPrivateKey(): Promise;
}
export declare class GridPlusWallet extends HardwareWallet {
private config;
constructor(config: GridPlusConfiguration);
private client?;
getClient(): Promise;
getAddress(path: DerivationPath, index: number): Promise;
getExtendedKey(_path: string): Promise<{
publicKey: string;
chainCode: string;
}>;
getHardenedAddress(path: DerivationPath, index: number): Promise;
getAddresses({ path, limit, offset, node }: {
path: DerivationPath;
limit: number;
offset?: number;
node?: HDNode;
}): Promise;
getWallet(path: DerivationPath, index: number, address?: TAddress): Promise;
getCredentials(): GridPlusCredentials;
}