/// <reference types="node" />
export { IAlgorithm, IChainConfig, IGenerateOptions, IKeypair } from "./types";
import { Factory } from "./keypairs";
import { sm2 } from "@swtc/sm.js";
declare const Keypairs: {
    guomi: boolean;
    token: string;
    addressCodec: {
        guomi: boolean;
        token: string;
        codec: import("@swtc/address-codec").Codec;
        encode: (bytes: Buffer, opts: {
            versions: number[];
            expectedLength: number;
        }) => string;
        decode: (base58string: string, opts: {
            versions: (number | number[])[];
            expectedLength?: number | undefined;
            versionTypes?: string[] | undefined;
        }) => {
            version: number[];
            bytes: Buffer;
            type: string | null;
        };
        encodeSeed: (entropy: Buffer, type?: "ed25519" | "secp256k1" | "sm2p256v1" | undefined) => string;
        decodeSeed: (seed: string, opts?: {
            versionTypes: string[];
            versions: (number | number[])[];
            expectedLength: number;
        } | undefined) => {
            version: number[];
            bytes: Buffer;
            type: string | null;
        };
        isValidSeed: (seed: string) => boolean;
        encodeAccountID: (bytes: Buffer) => string;
        decodeAccountID: (accountId: string) => Buffer;
        encodeNodePublic: (bytes: Buffer) => string;
        decodeNodePublic: (base58string: string) => Buffer;
        encodeNodePrivate: (bytes: Buffer) => string;
        decodeNodePrivate: (base58string: string) => Buffer;
        isValidClassicAddress: (address: string) => boolean;
        isValidAddress: (address: string) => boolean;
        encodeAddress: (bytes: Buffer) => string;
        decodeAddress: (accountId: string) => Buffer;
    };
    deriveKeyPair: (secret_or_private_key: string, algorithm?: import("@swtc/address-codec/cjs/address-codec").IAlgorithm) => import("./types").IKeypair;
    hash: (message: any) => string | any[];
    seedFromPhrase: typeof import("./utils").seedFromPhraseGm;
    signTx: (messageHex: any, privateKey: any) => string;
    verifyTx: (messageHex: any, signature: any, publicKey: any) => boolean;
    convertAddressToBytes: (address: any) => number[];
    convertBytesToAddress: (bytes: any) => string;
    checkAddress: (address: string) => boolean;
    isValidAddress: (address: string) => boolean;
    deriveKeypair: (secret_or_private_key: string, algorithm?: import("@swtc/address-codec/cjs/address-codec").IAlgorithm) => import("./types").IKeypair;
    generateSeed: (options?: import("./types").IGenerateOptions) => string;
    sign: (messageHex: any, privateKey: any) => string;
    verify: (messageHex: any, signature: any, publicKey: any) => boolean;
    deriveAddress: (publicKey: any) => string;
    deriveNodeAddress: (publicKey: any) => string;
};
declare const KeypairsGm: {
    guomi: boolean;
    token: string;
    addressCodec: {
        guomi: boolean;
        token: string;
        codec: import("@swtc/address-codec").Codec;
        encode: (bytes: Buffer, opts: {
            versions: number[];
            expectedLength: number;
        }) => string;
        decode: (base58string: string, opts: {
            versions: (number | number[])[];
            expectedLength?: number | undefined;
            versionTypes?: string[] | undefined;
        }) => {
            version: number[];
            bytes: Buffer;
            type: string | null;
        };
        encodeSeed: (entropy: Buffer, type?: "ed25519" | "secp256k1" | "sm2p256v1" | undefined) => string;
        decodeSeed: (seed: string, opts?: {
            versionTypes: string[];
            versions: (number | number[])[];
            expectedLength: number;
        } | undefined) => {
            version: number[];
            bytes: Buffer;
            type: string | null;
        };
        isValidSeed: (seed: string) => boolean;
        encodeAccountID: (bytes: Buffer) => string;
        decodeAccountID: (accountId: string) => Buffer;
        encodeNodePublic: (bytes: Buffer) => string;
        decodeNodePublic: (base58string: string) => Buffer;
        encodeNodePrivate: (bytes: Buffer) => string;
        decodeNodePrivate: (base58string: string) => Buffer;
        isValidClassicAddress: (address: string) => boolean;
        isValidAddress: (address: string) => boolean;
        encodeAddress: (bytes: Buffer) => string;
        decodeAddress: (accountId: string) => Buffer;
    };
    deriveKeyPair: (secret_or_private_key: string, algorithm?: import("@swtc/address-codec/cjs/address-codec").IAlgorithm) => import("./types").IKeypair;
    hash: (message: any) => string | any[];
    seedFromPhrase: typeof import("./utils").seedFromPhraseGm;
    signTx: (messageHex: any, privateKey: any) => string;
    verifyTx: (messageHex: any, signature: any, publicKey: any) => boolean;
    convertAddressToBytes: (address: any) => number[];
    convertBytesToAddress: (bytes: any) => string;
    checkAddress: (address: string) => boolean;
    isValidAddress: (address: string) => boolean;
    deriveKeypair: (secret_or_private_key: string, algorithm?: import("@swtc/address-codec/cjs/address-codec").IAlgorithm) => import("./types").IKeypair;
    generateSeed: (options?: import("./types").IGenerateOptions) => string;
    sign: (messageHex: any, privateKey: any) => string;
    verify: (messageHex: any, signature: any, publicKey: any) => boolean;
    deriveAddress: (publicKey: any) => string;
    deriveNodeAddress: (publicKey: any) => string;
};
export { sm2, Factory, Keypairs, KeypairsGm };
//# sourceMappingURL=index.d.ts.map