import type { Infer } from "@metamask/superstruct";
/**
 * Supported encoding formats for private keys.
 */
export declare enum PrivateKeyEncoding {
    /**
     * Hexadecimal encoding format.
     */
    Hexadecimal = "hexadecimal",
    /**
     * Base58 encoding format.
     */
    Base58 = "base58"
}
/**
 * Struct for {@link PrivateKeyEncoding}.
 */
export declare const PrivateKeyEncodingStruct: import("@metamask/superstruct").Struct<"hexadecimal" | "base58", {
    hexadecimal: "hexadecimal";
    base58: "base58";
}>;
/**
 * Struct for {@link ImportPrivateKeyFormat}.
 */
export declare const ImportPrivateKeyFormatStruct: import("@metamask/superstruct").Struct<{
    encoding: "hexadecimal" | "base58";
    type?: "eip155:eoa" | "eip155:erc4337" | "bip122:p2pkh" | "bip122:p2sh" | "bip122:p2wpkh" | "bip122:p2tr" | "solana:data-account" | "tron:eoa" | "stellar:account" | "any:account";
}, {
    /**
     * Format used to encode the private key as a string.
     */
    encoding: import("@metamask/superstruct").Struct<"hexadecimal" | "base58", {
        hexadecimal: "hexadecimal";
        base58: "base58";
    }>;
    /**
     * Type of the account to be created.
     *
     * This field is necessary when there is ambiguity about the type of account
     * to be created from the private key. For example, in Bitcoin, a private key
     * can be used to create multiple types of accounts, such as P2WPKH, or P2TR.
     */
    type: import("@metamask/superstruct").ExactOptionalStruct<"eip155:eoa" | "eip155:erc4337" | "bip122:p2pkh" | "bip122:p2sh" | "bip122:p2wpkh" | "bip122:p2tr" | "solana:data-account" | "tron:eoa" | "stellar:account" | "any:account", {
        "eip155:eoa": "eip155:eoa";
        "eip155:erc4337": "eip155:erc4337";
        "bip122:p2pkh": "bip122:p2pkh";
        "bip122:p2sh": "bip122:p2sh";
        "bip122:p2wpkh": "bip122:p2wpkh";
        "bip122:p2tr": "bip122:p2tr";
        "solana:data-account": "solana:data-account";
        "tron:eoa": "tron:eoa";
        "stellar:account": "stellar:account";
        "any:account": "any:account";
    }>;
}>;
/**
 * Represents the format for importing a private key into a keyring.
 */
export type ImportPrivateKeyFormat = Infer<typeof ImportPrivateKeyFormatStruct>;
/**
 * Struct for {@link ExportPrivateKeyFormat}.
 */
export declare const ExportPrivateKeyFormatStruct: import("@metamask/superstruct").Struct<{
    encoding: "hexadecimal" | "base58";
}, {
    /**
     * Format used to encode the private key as a string.
     */
    encoding: import("@metamask/superstruct").Struct<"hexadecimal" | "base58", {
        hexadecimal: "hexadecimal";
        base58: "base58";
    }>;
}>;
/**
 * Represents the format for exporting a private key from a keyring.
 */
export type ExportPrivateKeyFormat = Infer<typeof ExportPrivateKeyFormatStruct>;
//# sourceMappingURL=private-key.d.cts.map