/// <reference types="bn.js" />
import { BN, Program } from "@project-serum/anchor";
import { PublicKey, TransactionInstruction } from "@solana/web3.js";
import { Staking } from "./idl";
export declare class StakingInstructions {
    readonly program: Program<Staking>;
    constructor(program: Program<Staking>);
    getInitLockupInstruction(creator: PublicKey, lockup: PublicKey, stakeVaultRewardTokenAccount: PublicKey, stakeVaultTokenAccount: PublicKey, rewardToken: PublicKey, stakeToken: PublicKey, stakeVault: PublicKey, initLockupParams: {
        totalAllocationReward: BN;
        lockTimespan: BN;
        name: string;
        stakingEndTime: BN;
        stakingStartTime: BN;
    }): Promise<TransactionInstruction>;
    getStakeInstruction(lockup: PublicKey, stakeInfo: PublicKey, staker: PublicKey, stakerTokenAccount: PublicKey, stakeToken: PublicKey, stakeVault: PublicKey, stakeVaultTokenAccount: PublicKey, amount: BN): Promise<TransactionInstruction>;
    getUnstakeInstruction(lockup: PublicKey, stakeInfo: PublicKey, staker: PublicKey, stakerTokenAccount: PublicKey, stakeToken: PublicKey, stakeVault: PublicKey, stakeVaultTokenAccount: PublicKey): Promise<TransactionInstruction>;
    getClaimRewardTokenInstruction(lockup: PublicKey, rewardToken: PublicKey, stakeInfo: PublicKey, staker: PublicKey, stakerRewardTokenAccount: PublicKey, stakeToken: PublicKey, stakeVault: PublicKey, stakeVaultRewardTokenAccount: PublicKey): Promise<TransactionInstruction>;
}
