export declare type SplToken22 = {
    version: "1.0.0";
    name: "spl_token_2022";
    instructions: [
        {
            name: "initializeMint";
            accounts: [
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "rent";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "decimals";
                    type: "u8";
                },
                {
                    name: "mintAuthority";
                    type: "publicKey";
                },
                {
                    name: "freezeAuthority";
                    type: {
                        defined: "COption<Pubkey>";
                    };
                }
            ];
        },
        {
            name: "initializeAccount";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "rent";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "initializeMultisig";
            accounts: [
                {
                    name: "multisig";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "rent";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "m";
                    type: "u8";
                }
            ];
        },
        {
            name: "transfer";
            accounts: [
                {
                    name: "source";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "destination";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "authority";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                }
            ];
        },
        {
            name: "approve";
            accounts: [
                {
                    name: "source";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "delegate";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                }
            ];
        },
        {
            name: "revoke";
            accounts: [
                {
                    name: "source";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [];
        },
        {
            name: "setAuthority";
            accounts: [
                {
                    name: "owned";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                },
                {
                    name: "signer";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "authorityType";
                    type: {
                        defined: "AuthorityType";
                    };
                },
                {
                    name: "newAuthority";
                    type: {
                        defined: "COption<Pubkey>";
                    };
                }
            ];
        },
        {
            name: "mintTo";
            accounts: [
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                }
            ];
        },
        {
            name: "burn";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "authority";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                }
            ];
        },
        {
            name: "closeAccount";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "destination";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [];
        },
        {
            name: "freezeAccount";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [];
        },
        {
            name: "thawAccount";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [];
        },
        {
            name: "transferChecked";
            accounts: [
                {
                    name: "source";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "destination";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "authority";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                },
                {
                    name: "decimals";
                    type: "u8";
                }
            ];
        },
        {
            name: "approveChecked";
            accounts: [
                {
                    name: "source";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "delegate";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                },
                {
                    name: "decimals";
                    type: "u8";
                }
            ];
        },
        {
            name: "mintToChecked";
            accounts: [
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                },
                {
                    name: "decimals";
                    type: "u8";
                }
            ];
        },
        {
            name: "burnChecked";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "authority";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                },
                {
                    name: "decimals";
                    type: "u8";
                }
            ];
        },
        {
            name: "initializeAccount2";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "rent";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "owner";
                    type: "publicKey";
                }
            ];
        },
        {
            name: "syncNative";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "initializeAccount3";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "owner";
                    type: "publicKey";
                }
            ];
        },
        {
            name: "initializeMultisig2";
            accounts: [
                {
                    name: "multisig";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "signer";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "m";
                    type: "u8";
                }
            ];
        },
        {
            name: "initializeMint2";
            accounts: [
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "decimals";
                    type: "u8";
                },
                {
                    name: "mintAuthority";
                    type: "publicKey";
                },
                {
                    name: "freezeAuthority";
                    type: {
                        defined: "COption<Pubkey>";
                    };
                }
            ];
        },
        {
            name: "getAccountDataSize";
            accounts: [
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "extensionTypes";
                    type: {
                        vec: {
                            defined: "ExtensionType";
                        };
                    };
                }
            ];
        },
        {
            name: "initializeImmutableOwner";
            accounts: [
                {
                    name: "tokenAccount";
                    isMut: true;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "amountToUiAmount";
            accounts: [
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "amount";
                    type: "u64";
                }
            ];
        },
        {
            name: "uiAmountToAmount";
            accounts: [
                {
                    name: "mint";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "uiAmount";
                    type: {
                        defined: "&'astr";
                    };
                }
            ];
        },
        {
            name: "initializeMintCloseAuthority";
            accounts: [
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "closeAuthority";
                    type: {
                        defined: "COption<Pubkey>";
                    };
                }
            ];
        },
        {
            name: "reallocate";
            accounts: [
                {
                    name: "account";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "payer";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                },
                {
                    name: "owner";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [
                {
                    name: "extensionTypes";
                    type: {
                        vec: {
                            defined: "ExtensionType";
                        };
                    };
                }
            ];
        },
        {
            name: "createNativeMint";
            accounts: [
                {
                    name: "payer";
                    isMut: true;
                    isSigner: true;
                },
                {
                    name: "crateNativeMint";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "systemProgram";
                    isMut: false;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "initializeNonTransferableMint";
            accounts: [
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                }
            ];
            args: [];
        },
        {
            name: "initializePermanentDelegate";
            accounts: [
                {
                    name: "mint";
                    isMut: true;
                    isSigner: false;
                }
            ];
            args: [
                {
                    name: "delegate";
                    type: "publicKey";
                }
            ];
        },
        {
            name: "withdrawExcessLamports";
            accounts: [
                {
                    name: "sourceAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "destinationAccount";
                    isMut: true;
                    isSigner: false;
                },
                {
                    name: "authority";
                    isMut: false;
                    isSigner: true;
                }
            ];
            args: [];
        }
    ];
    accounts: [
        {
            name: "Mint";
            type: {
                kind: "struct";
                fields: [
                    {
                        name: "mintAuthority";
                        type: {
                            defined: "COption<Pubkey>";
                        };
                    },
                    {
                        name: "supply";
                        type: "u64";
                    },
                    {
                        name: "decimals";
                        type: "u8";
                    },
                    {
                        name: "isInitialized";
                        type: "bool";
                    },
                    {
                        name: "freezeAuthority";
                        type: {
                            defined: "COption<Pubkey>";
                        };
                    }
                ];
            };
        },
        {
            name: "Account";
            type: {
                kind: "struct";
                fields: [
                    {
                        name: "mint";
                        type: "publicKey";
                    },
                    {
                        name: "owner";
                        type: "publicKey";
                    },
                    {
                        name: "amount";
                        type: "u64";
                    },
                    {
                        name: "delegate";
                        type: {
                            defined: "COption<Pubkey>";
                        };
                    },
                    {
                        name: "state";
                        type: {
                            defined: "AccountState";
                        };
                    },
                    {
                        name: "isNative";
                        type: {
                            defined: "COption<u64>";
                        };
                    },
                    {
                        name: "delegatedAmount";
                        type: "u64";
                    },
                    {
                        name: "closeAuthority";
                        type: {
                            defined: "COption<Pubkey>";
                        };
                    }
                ];
            };
        },
        {
            name: "Multisig";
            type: {
                kind: "struct";
                fields: [
                    {
                        name: "m";
                        type: "u8";
                    },
                    {
                        name: "n";
                        type: "u8";
                    },
                    {
                        name: "isInitialized";
                        type: "bool";
                    },
                    {
                        name: "signers";
                        type: {
                            array: ["publicKey", 11];
                        };
                    }
                ];
            };
        }
    ];
    types: [
        {
            name: "AccountState";
            type: {
                kind: "enum";
                variants: [
                    {
                        name: "Uninitialized";
                    },
                    {
                        name: "Initialized";
                    },
                    {
                        name: "Frozen";
                    }
                ];
            };
        },
        {
            name: "AuthorityType";
            type: {
                kind: "enum";
                variants: [
                    {
                        name: "MintTokens";
                    },
                    {
                        name: "FreezeAccount";
                    },
                    {
                        name: "AccountOwner";
                    },
                    {
                        name: "CloseAccount";
                    },
                    {
                        name: "TransferFeeConfig";
                    },
                    {
                        name: "WithheldWithdraw";
                    },
                    {
                        name: "CloseMint";
                    },
                    {
                        name: "InterestRate";
                    },
                    {
                        name: "PermanentDelegate";
                    },
                    {
                        name: "ConfidentialTransferMint";
                    },
                    {
                        name: "TransferHookProgramId";
                    },
                    {
                        name: "ConfidentialTransferFeeConfig";
                    },
                    {
                        name: "MetadataPointer";
                    },
                    {
                        name: "GroupPointer";
                    },
                    {
                        name: "GroupMemberPointer";
                    }
                ];
            };
        },
        {
            name: "ExtensionType";
            type: {
                kind: "enum";
                variants: [
                    {
                        name: "Uninitialized";
                    },
                    {
                        name: "TransferFeeConfig";
                    },
                    {
                        name: "TransferFeeAmount";
                    },
                    {
                        name: "MintCloseAuthority";
                    },
                    {
                        name: "ConfidentialTransferMint";
                    },
                    {
                        name: "ConfidentialTransferAccount";
                    },
                    {
                        name: "DefaultAccountState";
                    },
                    {
                        name: "ImmutableOwner";
                    },
                    {
                        name: "MemoTransfer";
                    },
                    {
                        name: "NonTransferable";
                    },
                    {
                        name: "InterestBearingConfig";
                    },
                    {
                        name: "CpiGuard";
                    },
                    {
                        name: "PermanentDelegate";
                    },
                    {
                        name: "NonTransferableAccount";
                    },
                    {
                        name: "TransferHook";
                    },
                    {
                        name: "TransferHookAccount";
                    },
                    {
                        name: "ConfidentialTransferFeeConfig";
                    },
                    {
                        name: "ConfidentialTransferFeeAmount";
                    },
                    {
                        name: "MetadataPointer";
                    },
                    {
                        name: "TokenMetadata";
                    },
                    {
                        name: "GroupPointer";
                    },
                    {
                        name: "TokenGroup";
                    },
                    {
                        name: "GroupMemberPointer";
                    },
                    {
                        name: "TokenGroupMember";
                    },
                    {
                        name: "VariableLenMintTest";
                    },
                    {
                        name: "AccountPaddingTest";
                    },
                    {
                        name: "MintPaddingTest";
                    }
                ];
            };
        }
    ];
    errors: [
        {
            code: 0;
            name: "NotRentExempt";
            msg: "Lamport balance below rent-exempt threshold";
        },
        {
            code: 1;
            name: "InsufficientFunds";
            msg: "Insufficient funds";
        },
        {
            code: 2;
            name: "InvalidMint";
            msg: "Invalid Mint";
        },
        {
            code: 3;
            name: "MintMismatch";
            msg: "Account not associated with this Mint";
        },
        {
            code: 4;
            name: "OwnerMismatch";
            msg: "Owner does not match";
        },
        {
            code: 5;
            name: "FixedSupply";
            msg: "Fixed supply";
        },
        {
            code: 6;
            name: "AlreadyInUse";
            msg: "Already in use";
        },
        {
            code: 7;
            name: "InvalidNumberOfProvidedSigners";
            msg: "Invalid number of provided signers";
        },
        {
            code: 8;
            name: "InvalidNumberOfRequiredSigners";
            msg: "Invalid number of required signers";
        },
        {
            code: 9;
            name: "UninitializedState";
            msg: "State is uninitialized";
        },
        {
            code: 10;
            name: "NativeNotSupported";
            msg: "Instruction does not support native tokens";
        },
        {
            code: 11;
            name: "NonNativeHasBalance";
            msg: "Non-native account can only be closed if its balance is zero";
        },
        {
            code: 12;
            name: "InvalidInstruction";
            msg: "Invalid instruction";
        },
        {
            code: 13;
            name: "InvalidState";
            msg: "State is invalid for requested operation";
        },
        {
            code: 14;
            name: "Overflow";
            msg: "Operation overflowed";
        },
        {
            code: 15;
            name: "AuthorityTypeNotSupported";
            msg: "Account does not support specified authority type";
        },
        {
            code: 16;
            name: "MintCannotFreeze";
            msg: "This token mint cannot freeze accounts";
        },
        {
            code: 17;
            name: "AccountFrozen";
            msg: "Account is frozen";
        },
        {
            code: 18;
            name: "MintDecimalsMismatch";
            msg: "The provided decimals value different from the Mint decimals";
        },
        {
            code: 19;
            name: "NonNativeNotSupported";
            msg: "Instruction does not support non-native tokens";
        },
        {
            code: 20;
            name: "ExtensionTypeMismatch";
            msg: "Extension type does not match already existing extensions";
        },
        {
            code: 21;
            name: "ExtensionBaseMismatch";
            msg: "Extension does not match the base type provided";
        },
        {
            code: 22;
            name: "ExtensionAlreadyInitialized";
            msg: "Extension already initialized on this account";
        },
        {
            code: 23;
            name: "ConfidentialTransferAccountHasBalance";
            msg: "An account can only be closed if its confidential balance is zero";
        },
        {
            code: 24;
            name: "ConfidentialTransferAccountNotApproved";
            msg: "Account not approved for confidential transfers";
        },
        {
            code: 25;
            name: "ConfidentialTransferDepositsAndTransfersDisabled";
            msg: "Account not accepting deposits or transfers";
        },
        {
            code: 26;
            name: "ConfidentialTransferElGamalPubkeyMismatch";
            msg: "ElGamal public key mismatch";
        },
        {
            code: 27;
            name: "ConfidentialTransferBalanceMismatch";
            msg: "Balance mismatch";
        },
        {
            code: 28;
            name: "MintHasSupply";
            msg: "Mint has non-zero supply. Burn all tokens before closing the mint";
        },
        {
            code: 29;
            name: "NoAuthorityExists";
            msg: "No authority exists to perform the desired operation";
        },
        {
            code: 30;
            name: "TransferFeeExceedsMaximum";
            msg: "Transfer fee exceeds maximum of 10,000 basis points";
        },
        {
            code: 31;
            name: "MintRequiredForTransfer";
            msg: "Mint required for this account to transfer tokens, use `transfer_checked` or `transfer_checked_with_fee`";
        },
        {
            code: 32;
            name: "FeeMismatch";
            msg: "Calculated fee does not match expected fee";
        },
        {
            code: 33;
            name: "FeeParametersMismatch";
            msg: "Fee parameters associated with zero-knowledge proofs do not match fee parameters in mint";
        },
        {
            code: 34;
            name: "ImmutableOwner";
            msg: "The owner authority cannot be changed";
        },
        {
            code: 35;
            name: "AccountHasWithheldTransferFees";
            msg: "An account can only be closed if its withheld fee balance is zero, harvest fees to the mint and try again";
        },
        {
            code: 36;
            name: "NoMemo";
            msg: "No memo in previous instruction; required for recipient to receive a transfer";
        },
        {
            code: 37;
            name: "NonTransferable";
            msg: "Transfer is disabled for this mint";
        },
        {
            code: 38;
            name: "NonTransferableNeedsImmutableOwnership";
            msg: "Non-transferable tokens can't be minted to an account without immutable ownership";
        },
        {
            code: 39;
            name: "MaximumPendingBalanceCreditCounterExceeded";
            msg: "The total number of `Deposit` and `Transfer` instructions to an account cannot exceed\n            the associated `maximum_pending_balance_credit_counter`";
        },
        {
            code: 40;
            name: "MaximumDepositAmountExceeded";
            msg: "Deposit amount exceeds maximum limit";
        },
        {
            code: 41;
            name: "CpiGuardSettingsLocked";
            msg: "CPI Guard cannot be enabled or disabled in CPI";
        },
        {
            code: 42;
            name: "CpiGuardTransferBlocked";
            msg: "CPI Guard is enabled, and a program attempted to transfer user funds via CPI without using a delegate";
        },
        {
            code: 43;
            name: "CpiGuardBurnBlocked";
            msg: "CPI Guard is enabled, and a program attempted to burn user funds via CPI without using a delegate";
        },
        {
            code: 44;
            name: "CpiGuardCloseAccountBlocked";
            msg: "CPI Guard is enabled, and a program attempted to close an account via CPI without returning lamports to owner";
        },
        {
            code: 45;
            name: "CpiGuardApproveBlocked";
            msg: "CPI Guard is enabled, and a program attempted to approve a delegate via CPI";
        },
        {
            code: 46;
            name: "CpiGuardSetAuthorityBlocked";
            msg: "CPI Guard is enabled, and a program attempted to add or replace an authority via CPI";
        },
        {
            code: 47;
            name: "CpiGuardOwnerChangeBlocked";
            msg: "Account ownership cannot be changed while CPI Guard is enabled";
        },
        {
            code: 48;
            name: "ExtensionNotFound";
            msg: "Extension not found in account data";
        },
        {
            code: 49;
            name: "NonConfidentialTransfersDisabled";
            msg: "Non-confidential transfers disabled";
        },
        {
            code: 50;
            name: "ConfidentialTransferFeeAccountHasWithheldFee";
            msg: "An account can only be closed if the confidential withheld fee is zero";
        },
        {
            code: 51;
            name: "InvalidExtensionCombination";
            msg: "A mint or an account is initialized to an invalid combination of extensions";
        },
        {
            code: 52;
            name: "InvalidLengthForAlloc";
            msg: "Extension allocation with overwrite must use the same length";
        },
        {
            code: 53;
            name: "AccountDecryption";
            msg: "Failed to decrypt a confidential transfer account";
        },
        {
            code: 54;
            name: "ProofGeneration";
            msg: "Failed to generate proof";
        },
        {
            code: 55;
            name: "InvalidProofInstructionOffset";
            msg: "An invalid proof instruction offset was provided";
        },
        {
            code: 56;
            name: "HarvestToMintDisabled";
            msg: "Harvest of withheld tokens to mint is disabled";
        },
        {
            code: 57;
            name: "SplitProofContextStateAccountsNotSupported";
            msg: "Split proof context state accounts not supported for instruction";
        },
        {
            code: 58;
            name: "NotEnoughProofContextStateAccounts";
            msg: "Not enough proof context state accounts provided";
        },
        {
            code: 59;
            name: "MalformedCiphertext";
            msg: "Ciphertext is malformed";
        },
        {
            code: 60;
            name: "CiphertextArithmeticFailed";
            msg: "Ciphertext arithmetic failed";
        }
    ];
};
//# sourceMappingURL=spl-token-22.program.d.ts.map