/**
 * 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 Address, type SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM, type SolanaError } from "@solana/kit";
/** StakeZero: Cannot stake 0 amount */
export declare const FARMS_ERROR__STAKE_ZERO = 6000;
/** UnstakeZero: Cannot unstake 0 amount */
export declare const FARMS_ERROR__UNSTAKE_ZERO = 6001;
/** NothingToUnstake: Nothing to unstake */
export declare const FARMS_ERROR__NOTHING_TO_UNSTAKE = 6002;
/** NoRewardToHarvest: No reward to harvest */
export declare const FARMS_ERROR__NO_REWARD_TO_HARVEST = 6003;
/** NoRewardInList: Reward not present in reward list */
export declare const FARMS_ERROR__NO_REWARD_IN_LIST = 6004;
/** RewardAlreadyInitialized: Reward already initialized */
export declare const FARMS_ERROR__REWARD_ALREADY_INITIALIZED = 6005;
/** MaxRewardNumberReached: Max number of reward tokens reached */
export declare const FARMS_ERROR__MAX_REWARD_NUMBER_REACHED = 6006;
/** RewardDoesNotExist: Reward does not exist */
export declare const FARMS_ERROR__REWARD_DOES_NOT_EXIST = 6007;
/** WrongRewardVaultAccount: Reward vault exists but the account is wrong */
export declare const FARMS_ERROR__WRONG_REWARD_VAULT_ACCOUNT = 6008;
/** RewardVaultMismatch: Reward vault pubkey does not match staking pool vault */
export declare const FARMS_ERROR__REWARD_VAULT_MISMATCH = 6009;
/** RewardVaultAuthorityMismatch: Reward vault authority pubkey does not match staking pool vault */
export declare const FARMS_ERROR__REWARD_VAULT_AUTHORITY_MISMATCH = 6010;
/** NothingStaked: Nothing staked, cannot collect any rewards */
export declare const FARMS_ERROR__NOTHING_STAKED = 6011;
/** IntegerOverflow: Integer overflow */
export declare const FARMS_ERROR__INTEGER_OVERFLOW = 6012;
/** ConversionFailure: Conversion failure */
export declare const FARMS_ERROR__CONVERSION_FAILURE = 6013;
/** UnexpectedAccount: Unexpected account in instruction */
export declare const FARMS_ERROR__UNEXPECTED_ACCOUNT = 6014;
/** OperationForbidden: Operation forbidden */
export declare const FARMS_ERROR__OPERATION_FORBIDDEN = 6015;
/** MathOverflow: Mathematical operation with overflow */
export declare const FARMS_ERROR__MATH_OVERFLOW = 6016;
/** MinClaimDurationNotReached: Minimum claim duration has not been reached */
export declare const FARMS_ERROR__MIN_CLAIM_DURATION_NOT_REACHED = 6017;
/** RewardsVaultHasDelegate: Reward vault has a delegate */
export declare const FARMS_ERROR__REWARDS_VAULT_HAS_DELEGATE = 6018;
/** RewardsVaultHasCloseAuthority: Reward vault has a close authority */
export declare const FARMS_ERROR__REWARDS_VAULT_HAS_CLOSE_AUTHORITY = 6019;
/** FarmVaultHasDelegate: Farm vault has a delegate */
export declare const FARMS_ERROR__FARM_VAULT_HAS_DELEGATE = 6020;
/** FarmVaultHasCloseAuthority: Farm vault has a close authority */
export declare const FARMS_ERROR__FARM_VAULT_HAS_CLOSE_AUTHORITY = 6021;
/** RewardsTreasuryVaultHasDelegate: Reward vault has a delegate */
export declare const FARMS_ERROR__REWARDS_TREASURY_VAULT_HAS_DELEGATE = 6022;
/** RewardsTreasuryVaultHasCloseAuthority: Reward vault has a close authority */
export declare const FARMS_ERROR__REWARDS_TREASURY_VAULT_HAS_CLOSE_AUTHORITY = 6023;
/** UserAtaRewardVaultMintMissmatch: User ata and reward vault have different mints */
export declare const FARMS_ERROR__USER_ATA_REWARD_VAULT_MINT_MISSMATCH = 6024;
/** UserAtaFarmTokenMintMissmatch: User ata and farm token have different mints */
export declare const FARMS_ERROR__USER_ATA_FARM_TOKEN_MINT_MISSMATCH = 6025;
/** TokenFarmTokenMintMissmatch: Token mint and farm token have different mints */
export declare const FARMS_ERROR__TOKEN_FARM_TOKEN_MINT_MISSMATCH = 6026;
/** RewardAtaRewardMintMissmatch: Reward ata mint is different than reward mint */
export declare const FARMS_ERROR__REWARD_ATA_REWARD_MINT_MISSMATCH = 6027;
/** RewardAtaOwnerNotPayer: Reward ata owner is different than payer */
export declare const FARMS_ERROR__REWARD_ATA_OWNER_NOT_PAYER = 6028;
/** InvalidGlobalConfigMode: Mode to update global_config is invalid */
export declare const FARMS_ERROR__INVALID_GLOBAL_CONFIG_MODE = 6029;
/** RewardIndexOutOfRange: Reward Index is higher than number of rewards */
export declare const FARMS_ERROR__REWARD_INDEX_OUT_OF_RANGE = 6030;
/** NothingToWithdraw: No tokens available to withdraw */
export declare const FARMS_ERROR__NOTHING_TO_WITHDRAW = 6031;
/** UserDelegatedFarmNonDelegatedMissmatch: user, user_ref, authority and payer must match for non-delegated farm */
export declare const FARMS_ERROR__USER_DELEGATED_FARM_NON_DELEGATED_MISSMATCH = 6032;
/** AuthorityFarmDelegateMissmatch: Authority must match farm delegate authority */
export declare const FARMS_ERROR__AUTHORITY_FARM_DELEGATE_MISSMATCH = 6033;
/** FarmNotDelegated: Farm not delegated, can not complete operation */
export declare const FARMS_ERROR__FARM_NOT_DELEGATED = 6034;
/** FarmDelegated: Operation not allowed for delegated farm */
export declare const FARMS_ERROR__FARM_DELEGATED = 6035;
/** UnstakeNotElapsed: Unstake lockup period is not elapsed. Deposit is locked until end of unstake period */
export declare const FARMS_ERROR__UNSTAKE_NOT_ELAPSED = 6036;
/** PendingWithdrawalNotWithdrawnYet: Pending withdrawal already exist and not withdrawn yet */
export declare const FARMS_ERROR__PENDING_WITHDRAWAL_NOT_WITHDRAWN_YET = 6037;
/** DepositZero: Cannot deposit zero amount directly to farm vault */
export declare const FARMS_ERROR__DEPOSIT_ZERO = 6038;
/** InvalidConfigValue: Invalid config value */
export declare const FARMS_ERROR__INVALID_CONFIG_VALUE = 6039;
/** InvalidPenaltyPercentage: Invalid penalty percentage */
export declare const FARMS_ERROR__INVALID_PENALTY_PERCENTAGE = 6040;
/** EarlyWithdrawalNotAllowed: Early withdrawal not allowed */
export declare const FARMS_ERROR__EARLY_WITHDRAWAL_NOT_ALLOWED = 6041;
/** InvalidLockingTimestamps: Invalid locking timestamps */
export declare const FARMS_ERROR__INVALID_LOCKING_TIMESTAMPS = 6042;
/** InvalidRpsCurvePoint: Invalid reward rate curve point */
export declare const FARMS_ERROR__INVALID_RPS_CURVE_POINT = 6043;
/** InvalidTimestamp: Invalid timestamp */
export declare const FARMS_ERROR__INVALID_TIMESTAMP = 6044;
/** DepositCapReached: Deposit cap reached */
export declare const FARMS_ERROR__DEPOSIT_CAP_REACHED = 6045;
/** MissingScopePrices: Missing Scope Prices */
export declare const FARMS_ERROR__MISSING_SCOPE_PRICES = 6046;
/** ScopeOraclePriceTooOld: Scope Oracle Price Too Old */
export declare const FARMS_ERROR__SCOPE_ORACLE_PRICE_TOO_OLD = 6047;
/** InvalidOracleConfig: Invalid Oracle Config */
export declare const FARMS_ERROR__INVALID_ORACLE_CONFIG = 6048;
/** CouldNotDeserializeScope: Could not deserialize scope */
export declare const FARMS_ERROR__COULD_NOT_DESERIALIZE_SCOPE = 6049;
/** RewardAtaOwnerNotAdmin: Reward ata owner is different than farm admin */
export declare const FARMS_ERROR__REWARD_ATA_OWNER_NOT_ADMIN = 6050;
/** WithdrawRewardZeroAvailable: Cannot withdraw reward as available amount is zero */
export declare const FARMS_ERROR__WITHDRAW_REWARD_ZERO_AVAILABLE = 6051;
/** RewardScheduleCurveSet: Cannot withdraw reward as reward schedule is set */
export declare const FARMS_ERROR__REWARD_SCHEDULE_CURVE_SET = 6052;
/** UnsupportedTokenExtension: Cannot initialize farm while having a mint with token22 and requested extensions */
export declare const FARMS_ERROR__UNSUPPORTED_TOKEN_EXTENSION = 6053;
/** InvalidFarmConfigUpdateAuthority: Invalid authority for updating farm config */
export declare const FARMS_ERROR__INVALID_FARM_CONFIG_UPDATE_AUTHORITY = 6054;
/** InvalidTransferOwnershipOldOwner: Invalid authority for transfer ownersip new user state initialization */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_OLD_OWNER = 6055;
/** InvalidTransferOwnershipFarmState: Invalid farm state for transfer ownership new user state initialization */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE = 6056;
/** InvalidTransferOwnershipUserStateOwnerDelegatee: Invalid user state for transfer ownership, owner must match delegatee */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_USER_STATE_OWNER_DELEGATEE = 6057;
/** InvalidTransferOwnershipFarmStateLockingMode: Invalid farm state locking mode for transfer ownership, must be 0 */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE_LOCKING_MODE = 6058;
/** InvalidTransferOwnershipFarmStateWithdrawCooldownPeriod: Invalid farm state withdrawal cooldown period for transfer ownership, must be 0 */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE_WITHDRAW_COOLDOWN_PERIOD = 6059;
/** InvalidTransferOwnershipStakeAmount: Invalid transfer ownership stake amount, must be equal to unstaked deposits */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_STAKE_AMOUNT = 6060;
/** InvalidTransferOwnershipNewOwner: Invalid authority for transfer ownersip new user state initialization */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_NEW_OWNER = 6061;
/** InvalidTransferOwnershipFarmStateDepositWarmupPeriod: Invalid farm state deposit warmup period for transfer ownership, must be 0 if old user has stake */
export declare const FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE_DEPOSIT_WARMUP_PERIOD = 6062;
/** RewardUserOnceFeatureDisabled: Reward User Once feature is disabled */
export declare const FARMS_ERROR__REWARD_USER_ONCE_FEATURE_DISABLED = 6063;
/** InvalidDelegatedAuthorityUpdate: Can not set delegate_authority to default pubkey - farm is delegated */
export declare const FARMS_ERROR__INVALID_DELEGATED_AUTHORITY_UPDATE = 6064;
/** UserTokenAccountOwnerMismatch: User token account owner does not match user state owner */
export declare const FARMS_ERROR__USER_TOKEN_ACCOUNT_OWNER_MISMATCH = 6065;
/** HarvestingNotPermissionlessPayerMismatch: Harvesting is not permissionless, payer does not match user state owner */
export declare const FARMS_ERROR__HARVESTING_NOT_PERMISSIONLESS_PAYER_MISMATCH = 6066;
/** RewardsIssuedCumulativeMismatch: Rewards issued cumulative does not match expected value */
export declare const FARMS_ERROR__REWARDS_ISSUED_CUMULATIVE_MISMATCH = 6067;
/** CannotCloseUserStateStakeNonZero: Cannot close user state because staked amount is non-zero */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_STAKE_NON_ZERO = 6068;
/** CannotCloseUserStatePendingUnstakes: Cannot close user state because there are pending unstake requests */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_PENDING_UNSTAKES = 6069;
/** CannotCloseUserStatePendingDeposits: Cannot close user state because there are pending deposit requests */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_PENDING_DEPOSITS = 6070;
/** CannotCloseUserStateUnharvestedRewards: Cannot close user state because there are unharvested rewards */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_UNHARVESTED_REWARDS = 6071;
/** CannotCloseUserStateSignerNotOwner: Cannot close user state because signer is not the owner */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_SIGNER_NOT_OWNER = 6072;
/** CannotCloseUserStateDelegatedSignerNotDelegateAuthority: Cannot close user state (delegated) because signer is not the delegate authority */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_DELEGATED_SIGNER_NOT_DELEGATE_AUTHORITY = 6073;
/** CannotCloseUserStateRentReceiverNotOwner: Cannot close user state because rent receiver is not the owner */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_RENT_RECEIVER_NOT_OWNER = 6074;
/** CannotCloseUserStateDelegatedRentReceiverNotAdmin: Cannot close user state (delegated) because rent receiver is not the admin */
export declare const FARMS_ERROR__CANNOT_CLOSE_USER_STATE_DELEGATED_RENT_RECEIVER_NOT_ADMIN = 6075;
/** UserRewardTokenAccountMustBeAta: User reward token account must be an ATA when payer is not the owner */
export declare const FARMS_ERROR__USER_REWARD_TOKEN_ACCOUNT_MUST_BE_ATA = 6076;
/** RewardsIssuedCumulativeAtMax: Cannot reward user because rewards_issued_cumulative has reached maximum value */
export declare const FARMS_ERROR__REWARDS_ISSUED_CUMULATIVE_AT_MAX = 6077;
/** UserStateIdMismatch: User state user id does not match expected value */
export declare const FARMS_ERROR__USER_STATE_ID_MISMATCH = 6078;
export type FarmsError = typeof FARMS_ERROR__AUTHORITY_FARM_DELEGATE_MISSMATCH | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_DELEGATED_RENT_RECEIVER_NOT_ADMIN | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_DELEGATED_SIGNER_NOT_DELEGATE_AUTHORITY | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_PENDING_DEPOSITS | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_PENDING_UNSTAKES | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_RENT_RECEIVER_NOT_OWNER | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_SIGNER_NOT_OWNER | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_STAKE_NON_ZERO | typeof FARMS_ERROR__CANNOT_CLOSE_USER_STATE_UNHARVESTED_REWARDS | typeof FARMS_ERROR__CONVERSION_FAILURE | typeof FARMS_ERROR__COULD_NOT_DESERIALIZE_SCOPE | typeof FARMS_ERROR__DEPOSIT_CAP_REACHED | typeof FARMS_ERROR__DEPOSIT_ZERO | typeof FARMS_ERROR__EARLY_WITHDRAWAL_NOT_ALLOWED | typeof FARMS_ERROR__FARM_DELEGATED | typeof FARMS_ERROR__FARM_NOT_DELEGATED | typeof FARMS_ERROR__FARM_VAULT_HAS_CLOSE_AUTHORITY | typeof FARMS_ERROR__FARM_VAULT_HAS_DELEGATE | typeof FARMS_ERROR__HARVESTING_NOT_PERMISSIONLESS_PAYER_MISMATCH | typeof FARMS_ERROR__INTEGER_OVERFLOW | typeof FARMS_ERROR__INVALID_CONFIG_VALUE | typeof FARMS_ERROR__INVALID_DELEGATED_AUTHORITY_UPDATE | typeof FARMS_ERROR__INVALID_FARM_CONFIG_UPDATE_AUTHORITY | typeof FARMS_ERROR__INVALID_GLOBAL_CONFIG_MODE | typeof FARMS_ERROR__INVALID_LOCKING_TIMESTAMPS | typeof FARMS_ERROR__INVALID_ORACLE_CONFIG | typeof FARMS_ERROR__INVALID_PENALTY_PERCENTAGE | typeof FARMS_ERROR__INVALID_RPS_CURVE_POINT | typeof FARMS_ERROR__INVALID_TIMESTAMP | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE_DEPOSIT_WARMUP_PERIOD | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE_LOCKING_MODE | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_FARM_STATE_WITHDRAW_COOLDOWN_PERIOD | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_NEW_OWNER | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_OLD_OWNER | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_STAKE_AMOUNT | typeof FARMS_ERROR__INVALID_TRANSFER_OWNERSHIP_USER_STATE_OWNER_DELEGATEE | typeof FARMS_ERROR__MATH_OVERFLOW | typeof FARMS_ERROR__MAX_REWARD_NUMBER_REACHED | typeof FARMS_ERROR__MIN_CLAIM_DURATION_NOT_REACHED | typeof FARMS_ERROR__MISSING_SCOPE_PRICES | typeof FARMS_ERROR__NO_REWARD_IN_LIST | typeof FARMS_ERROR__NO_REWARD_TO_HARVEST | typeof FARMS_ERROR__NOTHING_STAKED | typeof FARMS_ERROR__NOTHING_TO_UNSTAKE | typeof FARMS_ERROR__NOTHING_TO_WITHDRAW | typeof FARMS_ERROR__OPERATION_FORBIDDEN | typeof FARMS_ERROR__PENDING_WITHDRAWAL_NOT_WITHDRAWN_YET | typeof FARMS_ERROR__REWARD_ALREADY_INITIALIZED | typeof FARMS_ERROR__REWARD_ATA_OWNER_NOT_ADMIN | typeof FARMS_ERROR__REWARD_ATA_OWNER_NOT_PAYER | typeof FARMS_ERROR__REWARD_ATA_REWARD_MINT_MISSMATCH | typeof FARMS_ERROR__REWARD_DOES_NOT_EXIST | typeof FARMS_ERROR__REWARD_INDEX_OUT_OF_RANGE | typeof FARMS_ERROR__REWARD_SCHEDULE_CURVE_SET | typeof FARMS_ERROR__REWARDS_ISSUED_CUMULATIVE_AT_MAX | typeof FARMS_ERROR__REWARDS_ISSUED_CUMULATIVE_MISMATCH | typeof FARMS_ERROR__REWARDS_TREASURY_VAULT_HAS_CLOSE_AUTHORITY | typeof FARMS_ERROR__REWARDS_TREASURY_VAULT_HAS_DELEGATE | typeof FARMS_ERROR__REWARDS_VAULT_HAS_CLOSE_AUTHORITY | typeof FARMS_ERROR__REWARDS_VAULT_HAS_DELEGATE | typeof FARMS_ERROR__REWARD_USER_ONCE_FEATURE_DISABLED | typeof FARMS_ERROR__REWARD_VAULT_AUTHORITY_MISMATCH | typeof FARMS_ERROR__REWARD_VAULT_MISMATCH | typeof FARMS_ERROR__SCOPE_ORACLE_PRICE_TOO_OLD | typeof FARMS_ERROR__STAKE_ZERO | typeof FARMS_ERROR__TOKEN_FARM_TOKEN_MINT_MISSMATCH | typeof FARMS_ERROR__UNEXPECTED_ACCOUNT | typeof FARMS_ERROR__UNSTAKE_NOT_ELAPSED | typeof FARMS_ERROR__UNSTAKE_ZERO | typeof FARMS_ERROR__UNSUPPORTED_TOKEN_EXTENSION | typeof FARMS_ERROR__USER_ATA_FARM_TOKEN_MINT_MISSMATCH | typeof FARMS_ERROR__USER_ATA_REWARD_VAULT_MINT_MISSMATCH | typeof FARMS_ERROR__USER_DELEGATED_FARM_NON_DELEGATED_MISSMATCH | typeof FARMS_ERROR__USER_REWARD_TOKEN_ACCOUNT_MUST_BE_ATA | typeof FARMS_ERROR__USER_STATE_ID_MISMATCH | typeof FARMS_ERROR__USER_TOKEN_ACCOUNT_OWNER_MISMATCH | typeof FARMS_ERROR__WITHDRAW_REWARD_ZERO_AVAILABLE | typeof FARMS_ERROR__WRONG_REWARD_VAULT_ACCOUNT;
export declare function getFarmsErrorMessage(code: FarmsError): string;
export declare function isFarmsError<TProgramErrorCode extends FarmsError>(error: unknown, transactionMessage: {
    instructions: Record<number, {
        programAddress: Address;
    }>;
}, code?: TProgramErrorCode): error is SolanaError<typeof SOLANA_ERROR__INSTRUCTION_ERROR__CUSTOM> & Readonly<{
    context: Readonly<{
        code: TProgramErrorCode;
    }>;
}>;
//# sourceMappingURL=farms.d.ts.map