import type { DerivePathParams, DerivePrivateKeyParams, GetAddressParams, SignParams, ValidateAddressParams } from './types';
import { CoinType } from './constants';
export declare abstract class BaseWallet {
    static generateRandomMnemonic(): string;
    static validateMnemonic(mnemonic: string): boolean;
    protected abstract getCoinType(): CoinType;
    derivePath(params?: DerivePathParams): string;
    abstract derivePrivateKey(params: DerivePrivateKeyParams): string;
    abstract getAddressBy(params: GetAddressParams): string;
    abstract validateAddress(params: ValidateAddressParams): boolean;
    abstract sign(params: SignParams): Promise<any>;
    abstract signMessage(params: SignParams): Promise<any>;
    abstract signTransaction(params: SignParams): Promise<any>;
    abstract signTypedData(params: SignParams): Promise<string>;
}
