import type { Infer } from "@metamask/superstruct";
/**
 * Solana addresses are represented in the format of a 256-bit ed25519 public key and
 * are encoded using base58.
 * They are usually 32 to 44 characters long.
 */
export declare const SolAddressStruct: import("@metamask/superstruct").Struct<string, null>;
/**
 * Supported Solana methods.
 */
export declare enum SolMethod {
    SendAndConfirmTransaction = "sendAndConfirmTransaction",
    SignAndSendTransaction = "signAndSendTransaction",
    SignTransaction = "signTransaction",
    SignMessage = "signMessage",
    SignIn = "signIn"
}
export declare const SolDataAccountStruct: import("@metamask/superstruct").Struct<{
    type: "solana:data-account";
    id: string;
    options: Record<string, import("@metamask/utils").Json> & {
        entropy?: {
            type: "mnemonic";
            id: string;
            derivationPath: string;
            groupIndex: number;
        } | {
            type: "private-key";
        } | {
            type: "custom";
        };
        exportable?: boolean;
    };
    address: string;
    scopes: `${string}:${string}`[];
    methods: SolMethod[];
}, {
    /**
     * Account address.
     */
    address: import("@metamask/superstruct").Struct<string, null>;
    /**
     * Account type.
     */
    type: import("@metamask/superstruct").Struct<"solana:data-account", "solana:data-account">;
    /**
     * Account supported scopes (CAIP-2 chain IDs).
     */
    scopes: import("@metamask/superstruct").Struct<`${string}:${string}`[], import("@metamask/superstruct").Struct<`${string}:${string}`, null>>;
    /**
     * Account supported methods.
     */
    methods: import("@metamask/superstruct").Struct<SolMethod[], import("@metamask/superstruct").Struct<SolMethod, {
        sendAndConfirmTransaction: SolMethod.SendAndConfirmTransaction;
        signAndSendTransaction: SolMethod.SignAndSendTransaction;
        signTransaction: SolMethod.SignTransaction;
        signMessage: SolMethod.SignMessage;
        signIn: SolMethod.SignIn;
    }>>;
    id: import("@metamask/superstruct").Struct<string, null>;
    options: import("@metamask/superstruct").Struct<Record<string, import("@metamask/utils").Json> & {
        entropy?: {
            type: "mnemonic";
            id: string;
            derivationPath: string;
            groupIndex: number;
        } | {
            type: "private-key";
        } | {
            type: "custom";
        };
        exportable?: boolean;
    }, null>;
}>;
export type SolDataAccount = Infer<typeof SolDataAccountStruct>;
//# sourceMappingURL=types.d.cts.map