/**
 * This code was AUTOGENERATED using the kinobi library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun kinobi to update it.
 *
 * @see https://github.com/metaplex-foundation/kinobi
 */
import { GetDataEnumKind, GetDataEnumKindContent, Serializer } from '@metaplex-foundation/umi/serializers';
import { Uses, UsesArgs } from '.';
export type UsesToggle = {
    __kind: 'None';
} | {
    __kind: 'Clear';
} | {
    __kind: 'Set';
    fields: [Uses];
};
export type UsesToggleArgs = {
    __kind: 'None';
} | {
    __kind: 'Clear';
} | {
    __kind: 'Set';
    fields: [UsesArgs];
};
export declare function getUsesToggleSerializer(): Serializer<UsesToggleArgs, UsesToggle>;
export declare function usesToggle(kind: 'None'): GetDataEnumKind<UsesToggleArgs, 'None'>;
export declare function usesToggle(kind: 'Clear'): GetDataEnumKind<UsesToggleArgs, 'Clear'>;
export declare function usesToggle(kind: 'Set', data: GetDataEnumKindContent<UsesToggleArgs, 'Set'>['fields']): GetDataEnumKind<UsesToggleArgs, 'Set'>;
export declare function isUsesToggle<K extends UsesToggle['__kind']>(kind: K, value: UsesToggle): value is UsesToggle & {
    __kind: K;
};
