Coda by Ian Macalinao
    Preparing search index...
    interface KaminoLendingPluginInstructions {
        borrowObligationLiquidity: (
            input: BorrowObligationLiquidityAsyncInput,
        ) => Promise<
            BorrowObligationLiquidityInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        borrowObligationLiquidityV2: (
            input: BorrowObligationLiquidityV2AsyncInput,
        ) => Promise<
            BorrowObligationLiquidityV2Instruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        deleteReferrerStateAndShortUrl: (
            input: DeleteReferrerStateAndShortUrlInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                WritableAccount<string>,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        depositAndWithdraw: (
            input: DepositAndWithdrawInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        depositObligationCollateral: (
            input: DepositObligationCollateralInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        depositObligationCollateralV2: (
            input: DepositObligationCollateralV2AsyncInput,
        ) => Promise<
            DepositObligationCollateralV2Instruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        depositReserveLiquidity: (
            input: DepositReserveLiquidityAsyncInput,
        ) => Promise<
            DepositReserveLiquidityInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        depositReserveLiquidityAndObligationCollateral: (
            input: DepositReserveLiquidityAndObligationCollateralAsyncInput,
        ) => Promise<
            DepositReserveLiquidityAndObligationCollateralInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        depositReserveLiquidityAndObligationCollateralV2: (
            input: DepositReserveLiquidityAndObligationCollateralV2AsyncInput,
        ) => Promise<
            DepositReserveLiquidityAndObligationCollateralV2Instruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        flashBorrowReserveLiquidity: (
            input: FlashBorrowReserveLiquidityAsyncInput,
        ) => Promise<
            FlashBorrowReserveLiquidityInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        flashRepayReserveLiquidity: (
            input: FlashRepayReserveLiquidityAsyncInput,
        ) => Promise<
            FlashRepayReserveLiquidityInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        idlMissingTypes: (
            input: IdlMissingTypesInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        initFarmsForReserve: (
            input: InitFarmsForReserveAsyncInput,
        ) => Promise<
            InitFarmsForReserveInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        initGlobalConfig: (
            input: MakeOptional<
                InitGlobalConfigAsyncInput<string, string, string, string, string>,
                "payer",
            >,
        ) => Promise<
            InitGlobalConfigInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        initLendingMarket: (
            input: InitLendingMarketAsyncInput,
        ) => Promise<
            InitLendingMarketInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        initObligation: (
            input: MakeOptional<
                InitObligationInput<
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                >,
                "feePayer",
            >,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        initObligationFarmsForReserve: (
            input: MakeOptional<
                InitObligationFarmsForReserveAsyncInput<
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                >,
                "payer",
            >,
        ) => Promise<
            InitObligationFarmsForReserveInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        initReferrerStateAndShortUrl: (
            input: InitReferrerStateAndShortUrlInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        initReferrerTokenState: (
            input: MakeOptional<
                InitReferrerTokenStateInput<
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                    string,
                >,
                "payer",
            >,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        initReserve: (
            input: InitReserveAsyncInput,
        ) => Promise<
            InitReserveInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        initUserMetadata: (
            input: MakeOptional<
                InitUserMetadataInput<string, string, string, string, string, string>,
                "feePayer",
            >,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        liquidateObligationAndRedeemReserveCollateral: (
            input: LiquidateObligationAndRedeemReserveCollateralAsyncInput,
        ) => Promise<
            LiquidateObligationAndRedeemReserveCollateralInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        liquidateObligationAndRedeemReserveCollateralV2: (
            input: LiquidateObligationAndRedeemReserveCollateralV2Input,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        markObligationForDeleveraging: (
            input: MarkObligationForDeleveragingInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        redeemFees: (
            input: RedeemFeesAsyncInput,
        ) => Promise<
            RedeemFeesInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        redeemReserveCollateral: (
            input: RedeemReserveCollateralAsyncInput,
        ) => Promise<
            RedeemReserveCollateralInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        refreshObligation: (
            input: RefreshObligationInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [ReadonlyAccount<string>, WritableAccount<string>],
        > & SelfPlanAndSendFunctions;
        refreshObligationFarmsForReserve: (
            input: RefreshObligationFarmsForReserveAsyncInput,
        ) => Promise<
            RefreshObligationFarmsForReserveInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        refreshReserve: (
            input: RefreshReserveInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                WritableAccount<string>,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        refreshReservesBatch: (
            input: RefreshReservesBatchInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [],
        > & SelfPlanAndSendFunctions;
        repayAndWithdrawAndRedeem: (
            input: RepayAndWithdrawAndRedeemInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        repayObligationLiquidity: (
            input: RepayObligationLiquidityInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        repayObligationLiquidityV2: (
            input: RepayObligationLiquidityV2AsyncInput,
        ) => Promise<
            RepayObligationLiquidityV2Instruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        requestElevationGroup: (
            input: RequestElevationGroupInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        setObligationOrder: (
            input: SetObligationOrderInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        socializeLoss: (
            input: SocializeLossInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
                ReadonlyAccount<string>,
                WritableAccount<string>,
                ReadonlyAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        socializeLossV2: (
            input: SocializeLossV2AsyncInput,
        ) => Promise<
            SocializeLossV2Instruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        updateGlobalConfig: (
            input: UpdateGlobalConfigInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        updateGlobalConfigAdmin: (
            input: UpdateGlobalConfigAdminInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        updateLendingMarket: (
            input: UpdateLendingMarketInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        updateLendingMarketOwner: (
            input: UpdateLendingMarketOwnerInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        updateReserveConfig: (
            input: UpdateReserveConfigInput,
        ) => Instruction<
            Address,
            readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
        > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
            [
                AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                    string,
                    TransactionSigner<string>,
                >,
                ReadonlyAccount<string>,
                ReadonlyAccount<string>,
                WritableAccount<string>,
            ],
        > & SelfPlanAndSendFunctions;
        withdrawObligationCollateral: (
            input: WithdrawObligationCollateralAsyncInput,
        ) => Promise<
            WithdrawObligationCollateralInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        withdrawObligationCollateralAndRedeemReserveCollateral: (
            input: WithdrawObligationCollateralAndRedeemReserveCollateralAsyncInput,
        ) => Promise<
            WithdrawObligationCollateralAndRedeemReserveCollateralInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        withdrawObligationCollateralAndRedeemReserveCollateralV2: (
            input: WithdrawObligationCollateralAndRedeemReserveCollateralV2AsyncInput,
        ) => Promise<
            WithdrawObligationCollateralAndRedeemReserveCollateralV2Instruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        withdrawObligationCollateralV2: (
            input: WithdrawObligationCollateralV2AsyncInput,
        ) => Promise<
            WithdrawObligationCollateralV2Instruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        withdrawProtocolFee: (
            input: WithdrawProtocolFeeAsyncInput,
        ) => Promise<
            WithdrawProtocolFeeInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
        withdrawReferrerFees: (
            input: WithdrawReferrerFeesAsyncInput,
        ) => Promise<
            WithdrawReferrerFeesInstruction<
                Address,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                [],
            >,
        > & SelfPlanAndSendFunctions;
    }
    Index

    Properties

    borrowObligationLiquidity: (
        input: BorrowObligationLiquidityAsyncInput,
    ) => Promise<
        BorrowObligationLiquidityInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    borrowObligationLiquidityV2: (
        input: BorrowObligationLiquidityV2AsyncInput,
    ) => Promise<
        BorrowObligationLiquidityV2Instruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    deleteReferrerStateAndShortUrl: (
        input: DeleteReferrerStateAndShortUrlInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            WritableAccount<string>,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    depositAndWithdraw: (
        input: DepositAndWithdrawInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    depositObligationCollateral: (
        input: DepositObligationCollateralInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    depositObligationCollateralV2: (
        input: DepositObligationCollateralV2AsyncInput,
    ) => Promise<
        DepositObligationCollateralV2Instruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    depositReserveLiquidity: (
        input: DepositReserveLiquidityAsyncInput,
    ) => Promise<
        DepositReserveLiquidityInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    depositReserveLiquidityAndObligationCollateral: (
        input: DepositReserveLiquidityAndObligationCollateralAsyncInput,
    ) => Promise<
        DepositReserveLiquidityAndObligationCollateralInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    depositReserveLiquidityAndObligationCollateralV2: (
        input: DepositReserveLiquidityAndObligationCollateralV2AsyncInput,
    ) => Promise<
        DepositReserveLiquidityAndObligationCollateralV2Instruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    flashBorrowReserveLiquidity: (
        input: FlashBorrowReserveLiquidityAsyncInput,
    ) => Promise<
        FlashBorrowReserveLiquidityInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    flashRepayReserveLiquidity: (
        input: FlashRepayReserveLiquidityAsyncInput,
    ) => Promise<
        FlashRepayReserveLiquidityInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    idlMissingTypes: (
        input: IdlMissingTypesInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    initFarmsForReserve: (
        input: InitFarmsForReserveAsyncInput,
    ) => Promise<
        InitFarmsForReserveInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    initGlobalConfig: (
        input: MakeOptional<
            InitGlobalConfigAsyncInput<string, string, string, string, string>,
            "payer",
        >,
    ) => Promise<
        InitGlobalConfigInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    initLendingMarket: (
        input: InitLendingMarketAsyncInput,
    ) => Promise<
        InitLendingMarketInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    initObligation: (
        input: MakeOptional<
            InitObligationInput<
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
            >,
            "feePayer",
        >,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    initObligationFarmsForReserve: (
        input: MakeOptional<
            InitObligationFarmsForReserveAsyncInput<
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
                string,
            >,
            "payer",
        >,
    ) => Promise<
        InitObligationFarmsForReserveInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    initReferrerStateAndShortUrl: (
        input: InitReferrerStateAndShortUrlInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    initReferrerTokenState: (
        input: MakeOptional<
            InitReferrerTokenStateInput<
                string,
                string,
                string,
                string,
                string,
                string,
                string,
            >,
            "payer",
        >,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    initReserve: (
        input: InitReserveAsyncInput,
    ) => Promise<
        InitReserveInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    initUserMetadata: (
        input: MakeOptional<
            InitUserMetadataInput<string, string, string, string, string, string>,
            "feePayer",
        >,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            AccountMeta<string> & { role: WRITABLE_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    liquidateObligationAndRedeemReserveCollateral: (
        input: LiquidateObligationAndRedeemReserveCollateralAsyncInput,
    ) => Promise<
        LiquidateObligationAndRedeemReserveCollateralInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    liquidateObligationAndRedeemReserveCollateralV2: (
        input: LiquidateObligationAndRedeemReserveCollateralV2Input,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    markObligationForDeleveraging: (
        input: MarkObligationForDeleveragingInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    redeemFees: (
        input: RedeemFeesAsyncInput,
    ) => Promise<
        RedeemFeesInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    redeemReserveCollateral: (
        input: RedeemReserveCollateralAsyncInput,
    ) => Promise<
        RedeemReserveCollateralInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    refreshObligation: (
        input: RefreshObligationInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [ReadonlyAccount<string>, WritableAccount<string>],
    > & SelfPlanAndSendFunctions
    refreshObligationFarmsForReserve: (
        input: RefreshObligationFarmsForReserveAsyncInput,
    ) => Promise<
        RefreshObligationFarmsForReserveInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    refreshReserve: (
        input: RefreshReserveInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            WritableAccount<string>,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    refreshReservesBatch: (
        input: RefreshReservesBatchInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [],
    > & SelfPlanAndSendFunctions
    repayAndWithdrawAndRedeem: (
        input: RepayAndWithdrawAndRedeemInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    repayObligationLiquidity: (
        input: RepayObligationLiquidityInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    repayObligationLiquidityV2: (
        input: RepayObligationLiquidityV2AsyncInput,
    ) => Promise<
        RepayObligationLiquidityV2Instruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    requestElevationGroup: (
        input: RequestElevationGroupInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    setObligationOrder: (
        input: SetObligationOrderInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    socializeLoss: (
        input: SocializeLossInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
            ReadonlyAccount<string>,
            WritableAccount<string>,
            ReadonlyAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    socializeLossV2: (
        input: SocializeLossV2AsyncInput,
    ) => Promise<
        SocializeLossV2Instruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    updateGlobalConfig: (
        input: UpdateGlobalConfigInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    updateGlobalConfigAdmin: (
        input: UpdateGlobalConfigAdminInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    updateLendingMarket: (
        input: UpdateLendingMarketInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    updateLendingMarketOwner: (
        input: UpdateLendingMarketOwnerInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    updateReserveConfig: (
        input: UpdateReserveConfigInput,
    ) => Instruction<
        Address,
        readonly (AccountMeta<string> | AccountLookupMeta<string, string>)[],
    > & InstructionWithData<ReadonlyUint8Array<ArrayBufferLike>> & InstructionWithAccounts<
        [
            AccountMeta<string> & { role: READONLY_SIGNER } & AccountSignerMeta<
                string,
                TransactionSigner<string>,
            >,
            ReadonlyAccount<string>,
            ReadonlyAccount<string>,
            WritableAccount<string>,
        ],
    > & SelfPlanAndSendFunctions
    withdrawObligationCollateral: (
        input: WithdrawObligationCollateralAsyncInput,
    ) => Promise<
        WithdrawObligationCollateralInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    withdrawObligationCollateralAndRedeemReserveCollateral: (
        input: WithdrawObligationCollateralAndRedeemReserveCollateralAsyncInput,
    ) => Promise<
        WithdrawObligationCollateralAndRedeemReserveCollateralInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    withdrawObligationCollateralAndRedeemReserveCollateralV2: (
        input: WithdrawObligationCollateralAndRedeemReserveCollateralV2AsyncInput,
    ) => Promise<
        WithdrawObligationCollateralAndRedeemReserveCollateralV2Instruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    withdrawObligationCollateralV2: (
        input: WithdrawObligationCollateralV2AsyncInput,
    ) => Promise<
        WithdrawObligationCollateralV2Instruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    withdrawProtocolFee: (
        input: WithdrawProtocolFeeAsyncInput,
    ) => Promise<
        WithdrawProtocolFeeInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions
    withdrawReferrerFees: (
        input: WithdrawReferrerFeesAsyncInput,
    ) => Promise<
        WithdrawReferrerFeesInstruction<
            Address,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            string,
            [],
        >,
    > & SelfPlanAndSendFunctions