/**
 * 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 { combineCodec, getEnumDecoder, getEnumEncoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder } from '@solana/kit';

export enum RebalanceTakeProfitStep { Uninitialized, TakingProfit, Finished };

export type RebalanceTakeProfitStepArgs = RebalanceTakeProfitStep;

export function getRebalanceTakeProfitStepEncoder(): FixedSizeEncoder<RebalanceTakeProfitStepArgs> {
    return getEnumEncoder(RebalanceTakeProfitStep);
}

export function getRebalanceTakeProfitStepDecoder(): FixedSizeDecoder<RebalanceTakeProfitStep> {
    return getEnumDecoder(RebalanceTakeProfitStep);
}

export function getRebalanceTakeProfitStepCodec(): FixedSizeCodec<RebalanceTakeProfitStepArgs, RebalanceTakeProfitStep> {
    return combineCodec(getRebalanceTakeProfitStepEncoder(), getRebalanceTakeProfitStepDecoder());
}