/**
 * 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, getStructDecoder, getStructEncoder, getU64Decoder, getU64Encoder, type FixedSizeCodec, type FixedSizeDecoder, type FixedSizeEncoder } from '@solana/kit';

export type PeriodicRebalanceState = { lastRebalanceTimestamp: bigint;  };

export type PeriodicRebalanceStateArgs = { lastRebalanceTimestamp: number | bigint;  };

export function getPeriodicRebalanceStateEncoder(): FixedSizeEncoder<PeriodicRebalanceStateArgs> {
    return getStructEncoder([['lastRebalanceTimestamp', getU64Encoder()]]);
}

export function getPeriodicRebalanceStateDecoder(): FixedSizeDecoder<PeriodicRebalanceState> {
    return getStructDecoder([['lastRebalanceTimestamp', getU64Decoder()]]);
}

export function getPeriodicRebalanceStateCodec(): FixedSizeCodec<PeriodicRebalanceStateArgs, PeriodicRebalanceState> {
    return combineCodec(getPeriodicRebalanceStateEncoder(), getPeriodicRebalanceStateDecoder());
}