/**
 * 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, type CollectionDetailsToggle, type CollectionDetailsToggleArgs, type CollectionToggle, type CollectionToggleArgs, type Data, type DataArgs, type RuleSetToggle, type RuleSetToggleArgs, type TokenStandard, type TokenStandardArgs, type UsesToggle, type UsesToggleArgs } from '.';
export type UpdateArgs = {
    __kind: 'V1';
    newUpdateAuthority: Option<Address>;
    data: Option<Data>;
    primarySaleHappened: Option<boolean>;
    isMutable: Option<boolean>;
    collection: CollectionToggle;
    collectionDetails: CollectionDetailsToggle;
    uses: UsesToggle;
    ruleSet: RuleSetToggle;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsUpdateAuthorityV2';
    newUpdateAuthority: Option<Address>;
    data: Option<Data>;
    primarySaleHappened: Option<boolean>;
    isMutable: Option<boolean>;
    collection: CollectionToggle;
    collectionDetails: CollectionDetailsToggle;
    uses: UsesToggle;
    ruleSet: RuleSetToggle;
    tokenStandard: Option<TokenStandard>;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsAuthorityItemDelegateV2';
    newUpdateAuthority: Option<Address>;
    primarySaleHappened: Option<boolean>;
    isMutable: Option<boolean>;
    tokenStandard: Option<TokenStandard>;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsCollectionDelegateV2';
    collection: CollectionToggle;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsDataDelegateV2';
    data: Option<Data>;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsProgrammableConfigDelegateV2';
    ruleSet: RuleSetToggle;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsDataItemDelegateV2';
    data: Option<Data>;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsCollectionItemDelegateV2';
    collection: CollectionToggle;
    authorizationData: Option<AuthorizationData>;
} | {
    __kind: 'AsProgrammableConfigItemDelegateV2';
    ruleSet: RuleSetToggle;
    authorizationData: Option<AuthorizationData>;
};
export type UpdateArgsArgs = {
    __kind: 'V1';
    newUpdateAuthority: OptionOrNullable<Address>;
    data: OptionOrNullable<DataArgs>;
    primarySaleHappened: OptionOrNullable<boolean>;
    isMutable: OptionOrNullable<boolean>;
    collection: CollectionToggleArgs;
    collectionDetails: CollectionDetailsToggleArgs;
    uses: UsesToggleArgs;
    ruleSet: RuleSetToggleArgs;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsUpdateAuthorityV2';
    newUpdateAuthority: OptionOrNullable<Address>;
    data: OptionOrNullable<DataArgs>;
    primarySaleHappened: OptionOrNullable<boolean>;
    isMutable: OptionOrNullable<boolean>;
    collection: CollectionToggleArgs;
    collectionDetails: CollectionDetailsToggleArgs;
    uses: UsesToggleArgs;
    ruleSet: RuleSetToggleArgs;
    tokenStandard: OptionOrNullable<TokenStandardArgs>;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsAuthorityItemDelegateV2';
    newUpdateAuthority: OptionOrNullable<Address>;
    primarySaleHappened: OptionOrNullable<boolean>;
    isMutable: OptionOrNullable<boolean>;
    tokenStandard: OptionOrNullable<TokenStandardArgs>;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsCollectionDelegateV2';
    collection: CollectionToggleArgs;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsDataDelegateV2';
    data: OptionOrNullable<DataArgs>;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsProgrammableConfigDelegateV2';
    ruleSet: RuleSetToggleArgs;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsDataItemDelegateV2';
    data: OptionOrNullable<DataArgs>;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsCollectionItemDelegateV2';
    collection: CollectionToggleArgs;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
} | {
    __kind: 'AsProgrammableConfigItemDelegateV2';
    ruleSet: RuleSetToggleArgs;
    authorizationData: OptionOrNullable<AuthorizationDataArgs>;
};
export declare function getUpdateArgsEncoder(): Encoder<UpdateArgsArgs>;
export declare function getUpdateArgsDecoder(): Decoder<UpdateArgs>;
export declare function getUpdateArgsCodec(): Codec<UpdateArgsArgs, UpdateArgs>;
export declare function updateArgs(kind: 'V1', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'V1'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'V1'>;
export declare function updateArgs(kind: 'AsUpdateAuthorityV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsUpdateAuthorityV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsUpdateAuthorityV2'>;
export declare function updateArgs(kind: 'AsAuthorityItemDelegateV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsAuthorityItemDelegateV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsAuthorityItemDelegateV2'>;
export declare function updateArgs(kind: 'AsCollectionDelegateV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsCollectionDelegateV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsCollectionDelegateV2'>;
export declare function updateArgs(kind: 'AsDataDelegateV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsDataDelegateV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsDataDelegateV2'>;
export declare function updateArgs(kind: 'AsProgrammableConfigDelegateV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsProgrammableConfigDelegateV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsProgrammableConfigDelegateV2'>;
export declare function updateArgs(kind: 'AsDataItemDelegateV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsDataItemDelegateV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsDataItemDelegateV2'>;
export declare function updateArgs(kind: 'AsCollectionItemDelegateV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsCollectionItemDelegateV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsCollectionItemDelegateV2'>;
export declare function updateArgs(kind: 'AsProgrammableConfigItemDelegateV2', data: GetDiscriminatedUnionVariantContent<UpdateArgsArgs, '__kind', 'AsProgrammableConfigItemDelegateV2'>): GetDiscriminatedUnionVariant<UpdateArgsArgs, '__kind', 'AsProgrammableConfigItemDelegateV2'>;
export declare function isUpdateArgs<K extends UpdateArgs['__kind']>(kind: K, value: UpdateArgs): value is UpdateArgs & {
    __kind: K;
};
//# sourceMappingURL=updateArgs.d.ts.map