import { TransactionInstruction, PublicKey } from '@solana/web3.js'; import * as types from '../types'; export interface InitializeRewardArgs { param: types.InitializeRewardParamFields; } export interface InitializeRewardAccounts { /** The founder deposit reward token to vault */ rewardFunder: PublicKey; funderTokenAccount: PublicKey; /** For check the reward_funder authority */ ammConfig: PublicKey; /** Set reward for this pool */ poolState: PublicKey; /** load info from the account to judge reward permission */ operationState: PublicKey; /** Reward mint */ rewardTokenMint: PublicKey; /** A pda, reward vault */ rewardTokenVault: PublicKey; tokenProgram: PublicKey; systemProgram: PublicKey; rent: PublicKey; } export declare const layout: any; /** * Initialize a reward info for a given pool and reward index * * # Arguments * * * `ctx`- The context of accounts * * `reward_index` - the index to reward info * * `open_time` - reward open timestamp * * `end_time` - reward end timestamp * * `emissions_per_second_x64` - Token reward per second are earned per unit of liquidity. * */ export declare function initializeReward(args: InitializeRewardArgs, accounts: InitializeRewardAccounts): TransactionInstruction;