import { Address, Codec, Decoder, Encoder, GetDiscriminatedUnionVariant, GetDiscriminatedUnionVariantContent } from '@solana/kit';
export type GraduationMethod = {
    __kind: "None";
} | {
    __kind: "Whirlpool";
    splitBps: number;
    feeTierIndex: number;
    destination: Address;
    unlocked: boolean;
} | {
    __kind: "Manual";
    splitBps: number;
    destination: Address;
};
export type GraduationMethodArgs = GraduationMethod;
export declare function getGraduationMethodEncoder(): Encoder<GraduationMethodArgs>;
export declare function getGraduationMethodDecoder(): Decoder<GraduationMethod>;
export declare function getGraduationMethodCodec(): Codec<GraduationMethodArgs, GraduationMethod>;
export declare function graduationMethod(kind: "None"): GetDiscriminatedUnionVariant<GraduationMethodArgs, "__kind", "None">;
export declare function graduationMethod(kind: "Whirlpool", data: GetDiscriminatedUnionVariantContent<GraduationMethodArgs, "__kind", "Whirlpool">): GetDiscriminatedUnionVariant<GraduationMethodArgs, "__kind", "Whirlpool">;
export declare function graduationMethod(kind: "Manual", data: GetDiscriminatedUnionVariantContent<GraduationMethodArgs, "__kind", "Manual">): GetDiscriminatedUnionVariant<GraduationMethodArgs, "__kind", "Manual">;
export declare function isGraduationMethod<K extends GraduationMethod["__kind"]>(kind: K, value: GraduationMethod): value is GraduationMethod & {
    __kind: K;
};
