/**
 * 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 INSERT_COLLATERAL_INFO_DISCRIMINATOR: Uint8Array<ArrayBuffer>;
export declare function getInsertCollateralInfoDiscriminatorBytes(): ReadonlyUint8Array<ArrayBuffer>;
export type InsertCollateralInfoInstruction<TProgram extends string = typeof YVAULTS_PROGRAM_ADDRESS, TAccountAdminAuthority extends string | AccountMeta<string> = string, TAccountGlobalConfig extends string | AccountMeta<string> = string, TAccountTokenInfos extends string | AccountMeta<string> = string, TRemainingAccounts extends readonly AccountMeta<string>[] = []> = Instruction<TProgram> & InstructionWithData<ReadonlyUint8Array> & InstructionWithAccounts<[TAccountAdminAuthority extends string ? WritableSignerAccount<TAccountAdminAuthority> & AccountSignerMeta<TAccountAdminAuthority> : TAccountAdminAuthority, TAccountGlobalConfig extends string ? ReadonlyAccount<TAccountGlobalConfig> : TAccountGlobalConfig, TAccountTokenInfos extends string ? WritableAccount<TAccountTokenInfos> : TAccountTokenInfos, ...TRemainingAccounts]>;
export type InsertCollateralInfoInstructionData = {
    discriminator: ReadonlyUint8Array;
    index: bigint;
    mint: Address;
    lowerHeuristic: bigint;
    upperHeuristic: bigint;
    expHeuristic: bigint;
    maxTwapDivergenceBps: bigint;
    scopeTwapPriceChain: Array<number>;
    scopePriceChain: Array<number>;
    name: ReadonlyUint8Array;
    maxAgePriceSeconds: bigint;
    maxAgeTwapSeconds: bigint;
    maxIgnorableAmountAsReward: bigint;
    disabled: number;
    scopeStakingRateChain: Array<number>;
    scopeFeed: Address;
};
export type InsertCollateralInfoInstructionDataArgs = {
    index: number | bigint;
    mint: Address;
    lowerHeuristic: number | bigint;
    upperHeuristic: number | bigint;
    expHeuristic: number | bigint;
    maxTwapDivergenceBps: number | bigint;
    scopeTwapPriceChain: Array<number>;
    scopePriceChain: Array<number>;
    name: ReadonlyUint8Array;
    maxAgePriceSeconds: number | bigint;
    maxAgeTwapSeconds: number | bigint;
    maxIgnorableAmountAsReward: number | bigint;
    disabled: number;
    scopeStakingRateChain: Array<number>;
    scopeFeed: Address;
};
export declare function getInsertCollateralInfoInstructionDataEncoder(): FixedSizeEncoder<InsertCollateralInfoInstructionDataArgs>;
export declare function getInsertCollateralInfoInstructionDataDecoder(): FixedSizeDecoder<InsertCollateralInfoInstructionData>;
export declare function getInsertCollateralInfoInstructionDataCodec(): FixedSizeCodec<InsertCollateralInfoInstructionDataArgs, InsertCollateralInfoInstructionData>;
export type InsertCollateralInfoInput<TAccountAdminAuthority extends string = string, TAccountGlobalConfig extends string = string, TAccountTokenInfos extends string = string> = {
    adminAuthority: TransactionSigner<TAccountAdminAuthority>;
    globalConfig: Address<TAccountGlobalConfig>;
    tokenInfos: Address<TAccountTokenInfos>;
    index: InsertCollateralInfoInstructionDataArgs["index"];
    mint: InsertCollateralInfoInstructionDataArgs["mint"];
    lowerHeuristic: InsertCollateralInfoInstructionDataArgs["lowerHeuristic"];
    upperHeuristic: InsertCollateralInfoInstructionDataArgs["upperHeuristic"];
    expHeuristic: InsertCollateralInfoInstructionDataArgs["expHeuristic"];
    maxTwapDivergenceBps: InsertCollateralInfoInstructionDataArgs["maxTwapDivergenceBps"];
    scopeTwapPriceChain: InsertCollateralInfoInstructionDataArgs["scopeTwapPriceChain"];
    scopePriceChain: InsertCollateralInfoInstructionDataArgs["scopePriceChain"];
    name: InsertCollateralInfoInstructionDataArgs["name"];
    maxAgePriceSeconds: InsertCollateralInfoInstructionDataArgs["maxAgePriceSeconds"];
    maxAgeTwapSeconds: InsertCollateralInfoInstructionDataArgs["maxAgeTwapSeconds"];
    maxIgnorableAmountAsReward: InsertCollateralInfoInstructionDataArgs["maxIgnorableAmountAsReward"];
    disabled: InsertCollateralInfoInstructionDataArgs["disabled"];
    scopeStakingRateChain: InsertCollateralInfoInstructionDataArgs["scopeStakingRateChain"];
    scopeFeed: InsertCollateralInfoInstructionDataArgs["scopeFeed"];
};
export declare function getInsertCollateralInfoInstruction<TAccountAdminAuthority extends string, TAccountGlobalConfig extends string, TAccountTokenInfos extends string, TProgramAddress extends Address = typeof YVAULTS_PROGRAM_ADDRESS>(input: InsertCollateralInfoInput<TAccountAdminAuthority, TAccountGlobalConfig, TAccountTokenInfos>, config?: {
    programAddress?: TProgramAddress;
}): InsertCollateralInfoInstruction<TProgramAddress, TAccountAdminAuthority, TAccountGlobalConfig, TAccountTokenInfos>;
export type ParsedInsertCollateralInfoInstruction<TProgram extends string = typeof YVAULTS_PROGRAM_ADDRESS, TAccountMetas extends readonly AccountMeta[] = readonly AccountMeta[]> = {
    programAddress: Address<TProgram>;
    accounts: {
        adminAuthority: TAccountMetas[0];
        globalConfig: TAccountMetas[1];
        tokenInfos: TAccountMetas[2];
    };
    data: InsertCollateralInfoInstructionData;
};
export declare function parseInsertCollateralInfoInstruction<TProgram extends string, TAccountMetas extends readonly AccountMeta[]>(instruction: Instruction<TProgram> & InstructionWithAccounts<TAccountMetas> & InstructionWithData<ReadonlyUint8Array>): ParsedInsertCollateralInfoInstruction<TProgram, TAccountMetas>;
//# sourceMappingURL=insertCollateralInfo.d.ts.map