/**
 * 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 { PublicKey } from '@metaplex-foundation/umi';
import { GetDataEnumKind, GetDataEnumKindContent, Serializer } from '@metaplex-foundation/umi/serializers';
export type EscrowAuthority = {
    __kind: 'TokenOwner';
} | {
    __kind: 'Creator';
    fields: [PublicKey];
};
export type EscrowAuthorityArgs = EscrowAuthority;
export declare function getEscrowAuthoritySerializer(): Serializer<EscrowAuthorityArgs, EscrowAuthority>;
export declare function escrowAuthority(kind: 'TokenOwner'): GetDataEnumKind<EscrowAuthorityArgs, 'TokenOwner'>;
export declare function escrowAuthority(kind: 'Creator', data: GetDataEnumKindContent<EscrowAuthorityArgs, 'Creator'>['fields']): GetDataEnumKind<EscrowAuthorityArgs, 'Creator'>;
export declare function isEscrowAuthority<K extends EscrowAuthority['__kind']>(kind: K, value: EscrowAuthority): value is EscrowAuthority & {
    __kind: K;
};
