/**
 * 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 Codec, type Decoder, type Encoder, type GetDiscriminatedUnionVariant, type GetDiscriminatedUnionVariantContent } from '@solana/kit';
import { type ProofInfo, type ProofInfoArgs, type SeedsVec, type SeedsVecArgs } from '.';
export type PayloadType = {
    __kind: 'Pubkey';
    fields: readonly [Address];
} | {
    __kind: 'Seeds';
    fields: readonly [SeedsVec];
} | {
    __kind: 'MerkleProof';
    fields: readonly [ProofInfo];
} | {
    __kind: 'Number';
    fields: readonly [bigint];
};
export type PayloadTypeArgs = {
    __kind: 'Pubkey';
    fields: readonly [Address];
} | {
    __kind: 'Seeds';
    fields: readonly [SeedsVecArgs];
} | {
    __kind: 'MerkleProof';
    fields: readonly [ProofInfoArgs];
} | {
    __kind: 'Number';
    fields: readonly [number | bigint];
};
export declare function getPayloadTypeEncoder(): Encoder<PayloadTypeArgs>;
export declare function getPayloadTypeDecoder(): Decoder<PayloadType>;
export declare function getPayloadTypeCodec(): Codec<PayloadTypeArgs, PayloadType>;
export declare function payloadType(kind: 'Pubkey', data: GetDiscriminatedUnionVariantContent<PayloadTypeArgs, '__kind', 'Pubkey'>['fields']): GetDiscriminatedUnionVariant<PayloadTypeArgs, '__kind', 'Pubkey'>;
export declare function payloadType(kind: 'Seeds', data: GetDiscriminatedUnionVariantContent<PayloadTypeArgs, '__kind', 'Seeds'>['fields']): GetDiscriminatedUnionVariant<PayloadTypeArgs, '__kind', 'Seeds'>;
export declare function payloadType(kind: 'MerkleProof', data: GetDiscriminatedUnionVariantContent<PayloadTypeArgs, '__kind', 'MerkleProof'>['fields']): GetDiscriminatedUnionVariant<PayloadTypeArgs, '__kind', 'MerkleProof'>;
export declare function payloadType(kind: 'Number', data: GetDiscriminatedUnionVariantContent<PayloadTypeArgs, '__kind', 'Number'>['fields']): GetDiscriminatedUnionVariant<PayloadTypeArgs, '__kind', 'Number'>;
export declare function isPayloadType<K extends PayloadType['__kind']>(kind: K, value: PayloadType): value is PayloadType & {
    __kind: K;
};
//# sourceMappingURL=payloadType.d.ts.map