/**
 * 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 { Option, OptionOrNullable, PublicKey } from '@metaplex-foundation/umi';
import { GetDataEnumKind, GetDataEnumKindContent, Serializer } from '@metaplex-foundation/umi/serializers';
export type ProgrammableConfig = {
    __kind: 'V1';
    ruleSet: Option<PublicKey>;
};
export type ProgrammableConfigArgs = {
    __kind: 'V1';
    ruleSet: OptionOrNullable<PublicKey>;
};
export declare function getProgrammableConfigSerializer(): Serializer<ProgrammableConfigArgs, ProgrammableConfig>;
export declare function programmableConfig(kind: 'V1', data: GetDataEnumKindContent<ProgrammableConfigArgs, 'V1'>): GetDataEnumKind<ProgrammableConfigArgs, 'V1'>;
export declare function isProgrammableConfig<K extends ProgrammableConfig['__kind']>(kind: K, value: ProgrammableConfig): value is ProgrammableConfig & {
    __kind: K;
};
