/**
 * This code was AUTOGENERATED using the Codama library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun Codama to update it.
 *
 * @see https://github.com/codama-idl/codama
 */
import { type AccountMeta, type AccountSignerMeta, type Address, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder, type Instruction, type InstructionWithAccounts, type InstructionWithData, type ReadonlyAccount, type ReadonlyUint8Array, type TransactionSigner, type WritableAccount, type WritableSignerAccount } from '@solana/kit';
import { YVAULTS_PROGRAM_ADDRESS } from '../programs';
export declare const ADD_KAMINO_REWARDS_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getAddKaminoRewardsDiscriminatorBytes(): ReadonlyUint8Array;
export type AddKaminoRewardsInstruction<TProgram extends string = typeof YVAULTS_PROGRAM_ADDRESS, TAccountAdminAuthority extends string | AccountMeta<string> = string, TAccountStrategy extends string | AccountMeta<string> = string, TAccountRewardMint extends string | AccountMeta<string> = string, TAccountRewardVault extends string | AccountMeta<string> = string, TAccountBaseVaultAuthority extends string | AccountMeta<string> = string, TAccountRewardAta extends string | AccountMeta<string> = string, TAccountTokenProgram extends string | AccountMeta<string> = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountAdminAuthority extends string ? WritableSignerAccount<TAccountAdminAuthority> & AccountSignerMeta<TAccountAdminAuthority> : TAccountAdminAuthority, TAccountStrategy extends string ? WritableAccount<TAccountStrategy> : TAccountStrategy, TAccountRewardMint extends string ? ReadonlyAccount<TAccountRewardMint> : TAccountRewardMint, TAccountRewardVault extends string ? WritableAccount<TAccountRewardVault> : TAccountRewardVault, TAccountBaseVaultAuthority extends string ? WritableAccount<TAccountBaseVaultAuthority> : TAccountBaseVaultAuthority, TAccountRewardAta extends string ? WritableAccount<TAccountRewardAta> : TAccountRewardAta, TAccountTokenProgram extends string ? ReadonlyAccount<TAccountTokenProgram> : TAccountTokenProgram, ...TRemainingAccounts]>;
export type AddKaminoRewardsInstructionData = {
    discriminator: ReadonlyUint8Array;
    kaminoRewardIndex: bigint;
    amount: bigint;
};
export type AddKaminoRewardsInstructionDataArgs = {
    kaminoRewardIndex: number | bigint;
    amount: number | bigint;
};
export declare function getAddKaminoRewardsInstructionDataEncoder(): FixedSizeEncoder<AddKaminoRewardsInstructionDataArgs>;
export declare function getAddKaminoRewardsInstructionDataDecoder(): FixedSizeDecoder<AddKaminoRewardsInstructionData>;
export declare function getAddKaminoRewardsInstructionDataCodec(): FixedSizeCodec<AddKaminoRewardsInstructionDataArgs, AddKaminoRewardsInstructionData>;
export type AddKaminoRewardsInput<TAccountAdminAuthority extends string = string, TAccountStrategy extends string = string, TAccountRewardMint extends string = string, TAccountRewardVault extends string = string, TAccountBaseVaultAuthority extends string = string, TAccountRewardAta extends string = string, TAccountTokenProgram extends string = string> = {
    adminAuthority: TransactionSigner<TAccountAdminAuthority>;
    strategy: Address<TAccountStrategy>;
    rewardMint: Address<TAccountRewardMint>;
    rewardVault: Address<TAccountRewardVault>;
    baseVaultAuthority: Address<TAccountBaseVaultAuthority>;
    rewardAta: Address<TAccountRewardAta>;
    tokenProgram?: Address<TAccountTokenProgram>;
    kaminoRewardIndex: AddKaminoRewardsInstructionDataArgs["kaminoRewardIndex"];
    amount: AddKaminoRewardsInstructionDataArgs["amount"];
};
export declare function getAddKaminoRewardsInstruction<TAccountAdminAuthority extends string, TAccountStrategy extends string, TAccountRewardMint extends string, TAccountRewardVault extends string, TAccountBaseVaultAuthority extends string, TAccountRewardAta extends string, TAccountTokenProgram extends string, TProgramAddress extends Address = typeof YVAULTS_PROGRAM_ADDRESS>(input: AddKaminoRewardsInput<TAccountAdminAuthority, TAccountStrategy, TAccountRewardMint, TAccountRewardVault, TAccountBaseVaultAuthority, TAccountRewardAta, TAccountTokenProgram>, config?: {
    programAddress?: TProgramAddress;
}): AddKaminoRewardsInstruction<TProgramAddress, TAccountAdminAuthority, TAccountStrategy, TAccountRewardMint, TAccountRewardVault, TAccountBaseVaultAuthority, TAccountRewardAta, TAccountTokenProgram>;
export type ParsedAddKaminoRewardsInstruction<TProgram extends string = typeof YVAULTS_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
    programAddress: Address<TProgram>;
    accounts: {
        adminAuthority: TAccountMetas[0];
        strategy: TAccountMetas[1];
        rewardMint: TAccountMetas[2];
        rewardVault: TAccountMetas[3];
        baseVaultAuthority: TAccountMetas[4];
        rewardAta: TAccountMetas[5];
        tokenProgram: TAccountMetas[6];
    };
    data: AddKaminoRewardsInstructionData;
};
export declare function parseAddKaminoRewardsInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedAddKaminoRewardsInstruction<TProgram, TAccountMetas>;
//# sourceMappingURL=addKaminoRewards.d.ts.map