/**
 * 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, Pda, PublicKey, Signer, TransactionBuilder } from '@metaplex-foundation/umi';
import { Serializer } from '@metaplex-foundation/umi/serializers';
import { PickPartial } from '../shared';
import { TokenStandardArgs } from '../types';
export type RevokeCollectionV1InstructionAccounts = {
    /** Delegate record account */
    delegateRecord?: PublicKey | Pda;
    /** Owner of the delegated account */
    delegate: PublicKey | Pda;
    /** Metadata account */
    metadata?: PublicKey | Pda;
    /** Master Edition account */
    masterEdition?: PublicKey | Pda;
    /** Token record account */
    tokenRecord?: PublicKey | Pda;
    /** Mint of metadata */
    mint: PublicKey | Pda;
    /** Token account of mint */
    token?: PublicKey | Pda;
    /** Update authority or token owner */
    authority?: Signer;
    /** Payer */
    payer?: Signer;
    /** System Program */
    systemProgram?: PublicKey | Pda;
    /** Instructions sysvar account */
    sysvarInstructions?: PublicKey | Pda;
    /** SPL Token Program */
    splTokenProgram?: PublicKey | Pda;
    /** Token Authorization Rules Program */
    authorizationRulesProgram?: PublicKey | Pda;
    /** Token Authorization Rules account */
    authorizationRules?: PublicKey | Pda;
};
export type RevokeCollectionV1InstructionData = {
    discriminator: number;
    revokeCollectionV1Discriminator: number;
};
export type RevokeCollectionV1InstructionDataArgs = {};
export declare function getRevokeCollectionV1InstructionDataSerializer(): Serializer<RevokeCollectionV1InstructionDataArgs, RevokeCollectionV1InstructionData>;
export type RevokeCollectionV1InstructionExtraArgs = {
    tokenStandard: TokenStandardArgs;
    updateAuthority: PublicKey;
};
export type RevokeCollectionV1InstructionArgs = PickPartial<RevokeCollectionV1InstructionExtraArgs, 'updateAuthority'>;
export declare function revokeCollectionV1(context: Pick<Context, 'eddsa' | 'identity' | 'payer' | 'programs'>, input: RevokeCollectionV1InstructionAccounts & RevokeCollectionV1InstructionArgs): TransactionBuilder;
