/**
 * 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 Codec, type Decoder, type Encoder, type GetDiscriminatedUnionVariant, type GetDiscriminatedUnionVariantContent } from '@solana/kit';
import { type DexSpecificPrice, type DexSpecificPriceArgs } from '.';
export type RebalanceAction = {
    __kind: "NewPriceRange";
    fields: readonly [DexSpecificPrice, DexSpecificPrice];
} | {
    __kind: "NewTickRange";
    fields: readonly [number, number];
} | {
    __kind: "WithdrawAndFreeze";
};
export type RebalanceActionArgs = {
    __kind: "NewPriceRange";
    fields: readonly [DexSpecificPriceArgs, DexSpecificPriceArgs];
} | {
    __kind: "NewTickRange";
    fields: readonly [number, number];
} | {
    __kind: "WithdrawAndFreeze";
};
export declare function getRebalanceActionEncoder(): Encoder<RebalanceActionArgs>;
export declare function getRebalanceActionDecoder(): Decoder<RebalanceAction>;
export declare function getRebalanceActionCodec(): Codec<RebalanceActionArgs, RebalanceAction>;
export declare function rebalanceAction(kind: 'NewPriceRange', data: GetDiscriminatedUnionVariantContent<RebalanceActionArgs, '__kind', 'NewPriceRange'>['fields']): GetDiscriminatedUnionVariant<RebalanceActionArgs, '__kind', 'NewPriceRange'>;
export declare function rebalanceAction(kind: 'NewTickRange', data: GetDiscriminatedUnionVariantContent<RebalanceActionArgs, '__kind', 'NewTickRange'>['fields']): GetDiscriminatedUnionVariant<RebalanceActionArgs, '__kind', 'NewTickRange'>;
export declare function rebalanceAction(kind: 'WithdrawAndFreeze'): GetDiscriminatedUnionVariant<RebalanceActionArgs, '__kind', 'WithdrawAndFreeze'>;
export declare function isRebalanceAction<K extends RebalanceAction['__kind']>(kind: K, value: RebalanceAction): value is RebalanceAction & {
    __kind: K;
};
//# sourceMappingURL=rebalanceAction.d.ts.map