import { TransactionInstruction, PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
export interface SetRewardParamsArgs {
    rewardIndex: number;
    emissionsPerSecondX64: BN;
    openTime: BN;
    endTime: BN;
}
export interface SetRewardParamsAccounts {
    /** Address to be set as protocol owner. It pays to create factory state account. */
    authority: PublicKey;
    ammConfig: PublicKey;
    poolState: PublicKey;
    /** load info from the account to judge reward permission */
    operationState: PublicKey;
}
export declare const layout: any;
/**
 * Restset reward param, start a new reward cycle or extend the current cycle.
 *
 * # Arguments
 *
 * * `ctx` - The context of accounts
 * * `reward_index` - The index of reward token in the pool.
 * * `emissions_per_second_x64` - The per second emission reward, when extend the current cycle,
 * new value can't be less than old value
 * * `open_time` - reward open timestamp, must be set when state a new cycle
 * * `end_time` - reward end timestamp
 *
 */
export declare function setRewardParams(args: SetRewardParamsArgs, accounts: SetRewardParamsAccounts): TransactionInstruction;
