import { btc } from '../common';
import { CatAddressType } from '../common';
export declare class EcKeyService {
    private readonly privateKey;
    private readonly publicKey;
    private readonly addressType;
    constructor(opts: {
        privateKey?: string;
        publicKey?: string;
        addressType?: CatAddressType;
    });
    hasPrivateKey(): boolean;
    getWif(): string;
    getPrivateKey(): btc.PrivateKey;
    getAddressType(): CatAddressType;
    getP2TRAddress(): btc.Address;
    getAddress(): btc.Address;
    getXOnlyPublicKey(): string;
    getTweakedPrivateKey(): btc.PrivateKey;
    getPublicKey(): btc.PublicKey;
    getTokenPublicKey(): btc.PublicKey;
    getPubKeyPrefix(): string;
    getTokenAddress(): string;
    getTaprootPrivateKey(): btc.PrivateKey;
    getTokenPrivateKey(): btc.PrivateKey;
    signTx(tx: btc.Transaction): void;
}
