/**
 * 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, type Option, type OptionOrNullable } from '@solana/kit';
import { type AuthorizationData, type AuthorizationDataArgs } from '.';
export type DelegateArgs = {
    __kind: 'CollectionV1';
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'SaleV1';
    amount: bigint;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'TransferV1';
    amount: bigint;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'DataV1';
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'UtilityV1';
    amount: bigint;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'StakingV1';
    amount: bigint;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'StandardV1';
    amount: bigint;
} | {
    __kind: 'LockedTransferV1';
    amount: bigint;
    lockedAddress: Address;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'ProgrammableConfigV1';
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AuthorityItemV1';
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'DataItemV1';
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'CollectionItemV1';
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'ProgrammableConfigItemV1';
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'PrintDelegateV1';
    authorizationData: Option<AuthorizationData>;
};
export type DelegateArgsArgs = {
    __kind: 'CollectionV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'SaleV1';
    amount: number | bigint;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'TransferV1';
    amount: number | bigint;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'DataV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'UtilityV1';
    amount: number | bigint;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'StakingV1';
    amount: number | bigint;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'StandardV1';
    amount: number | bigint;
} | {
    __kind: 'LockedTransferV1';
    amount: number | bigint;
    lockedAddress: Address;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'ProgrammableConfigV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AuthorityItemV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'DataItemV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'CollectionItemV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'ProgrammableConfigItemV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'PrintDelegateV1';
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
};
export declare function getDelegateArgsEncoder(): Encoder<DelegateArgsArgs>;
export declare function getDelegateArgsDecoder(): Decoder<DelegateArgs>;
export declare function getDelegateArgsCodec(): Codec<DelegateArgsArgs, DelegateArgs>;
export declare function delegateArgs(kind: 'CollectionV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'CollectionV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'CollectionV1'>;
export declare function delegateArgs(kind: 'SaleV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'SaleV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'SaleV1'>;
export declare function delegateArgs(kind: 'TransferV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'TransferV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'TransferV1'>;
export declare function delegateArgs(kind: 'DataV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'DataV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'DataV1'>;
export declare function delegateArgs(kind: 'UtilityV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'UtilityV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'UtilityV1'>;
export declare function delegateArgs(kind: 'StakingV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'StakingV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'StakingV1'>;
export declare function delegateArgs(kind: 'StandardV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'StandardV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'StandardV1'>;
export declare function delegateArgs(kind: 'LockedTransferV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'LockedTransferV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'LockedTransferV1'>;
export declare function delegateArgs(kind: 'ProgrammableConfigV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'ProgrammableConfigV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'ProgrammableConfigV1'>;
export declare function delegateArgs(kind: 'AuthorityItemV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'AuthorityItemV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'AuthorityItemV1'>;
export declare function delegateArgs(kind: 'DataItemV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'DataItemV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'DataItemV1'>;
export declare function delegateArgs(kind: 'CollectionItemV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'CollectionItemV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'CollectionItemV1'>;
export declare function delegateArgs(kind: 'ProgrammableConfigItemV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'ProgrammableConfigItemV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'ProgrammableConfigItemV1'>;
export declare function delegateArgs(kind: 'PrintDelegateV1', data: GetDiscriminatedUnionVariantContent<DelegateArgsArgs, '__kind', 'PrintDelegateV1'>): GetDiscriminatedUnionVariant<DelegateArgsArgs, '__kind', 'PrintDelegateV1'>;
export declare function isDelegateArgs<K extends DelegateArgs['__kind']>(kind: K, value: DelegateArgs): value is DelegateArgs & {
    __kind: K;
};
//# sourceMappingURL=delegateArgs.d.ts.map