/**
 * 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 { Context, Option, OptionOrNullable, Pda, PublicKey, Signer, TransactionBuilder } from '@metaplex-foundation/umi';
import { Serializer } from '@metaplex-foundation/umi/serializers';
import { AuthorityType, AuthorityTypeArgs } from '../types';
export type SetAuthorityInstructionAccounts = {
    owned: PublicKey | Pda;
    owner: PublicKey | Pda | Signer;
};
export type SetAuthorityInstructionData = {
    discriminator: number;
    authorityType: AuthorityType;
    newAuthority: Option<PublicKey>;
};
export type SetAuthorityInstructionDataArgs = {
    authorityType: AuthorityTypeArgs;
    newAuthority: OptionOrNullable<PublicKey>;
};
export declare function getSetAuthorityInstructionDataSerializer(): Serializer<SetAuthorityInstructionDataArgs, SetAuthorityInstructionData>;
export type SetAuthorityInstructionArgs = SetAuthorityInstructionDataArgs;
export declare function setAuthority(context: Pick<Context, 'programs'>, input: SetAuthorityInstructionAccounts & SetAuthorityInstructionArgs): TransactionBuilder;
