/**
 * 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 { Account, Context, Pda, PublicKey, RpcAccount, RpcGetAccountOptions, RpcGetAccountsOptions } from '@metaplex-foundation/umi';
import { Serializer } from '@metaplex-foundation/umi/serializers';
import { HolderDelegateRoleSeedArgs } from '../../hooked';
import { Key, KeyArgs } from '../types';
export type HolderDelegateRecord = Account<HolderDelegateRecordAccountData>;
export type HolderDelegateRecordAccountData = {
    key: Key;
    bump: number;
    mint: PublicKey;
    delegate: PublicKey;
    updateAuthority: PublicKey;
};
export type HolderDelegateRecordAccountDataArgs = {
    key: KeyArgs;
    bump: number;
    mint: PublicKey;
    delegate: PublicKey;
    updateAuthority: PublicKey;
};
export declare function getHolderDelegateRecordAccountDataSerializer(): Serializer<HolderDelegateRecordAccountDataArgs, HolderDelegateRecordAccountData>;
export declare function deserializeHolderDelegateRecord(rawAccount: RpcAccount): HolderDelegateRecord;
export declare function fetchHolderDelegateRecord(context: Pick<Context, 'rpc'>, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions): Promise<HolderDelegateRecord>;
export declare function safeFetchHolderDelegateRecord(context: Pick<Context, 'rpc'>, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions): Promise<HolderDelegateRecord | null>;
export declare function fetchAllHolderDelegateRecord(context: Pick<Context, 'rpc'>, publicKeys: Array<PublicKey | Pda>, options?: RpcGetAccountsOptions): Promise<HolderDelegateRecord[]>;
export declare function safeFetchAllHolderDelegateRecord(context: Pick<Context, 'rpc'>, publicKeys: Array<PublicKey | Pda>, options?: RpcGetAccountsOptions): Promise<HolderDelegateRecord[]>;
export declare function getHolderDelegateRecordGpaBuilder(context: Pick<Context, 'rpc' | 'programs'>): import("@metaplex-foundation/umi").GpaBuilder<HolderDelegateRecord, {
    key: KeyArgs;
    bump: number;
    mint: PublicKey;
    delegate: PublicKey;
    updateAuthority: PublicKey;
}>;
export declare function getHolderDelegateRecordSize(): number;
export declare function findHolderDelegateRecordPda(context: Pick<Context, 'eddsa' | 'programs'>, seeds: {
    /** The address of the mint account */
    mint: PublicKey;
    /** The role of the holder delegate */
    delegateRole: HolderDelegateRoleSeedArgs;
    /** The address of the owner of the token */
    owner: PublicKey;
    /** The address of the delegate authority */
    delegate: PublicKey;
}): Pda;
export declare function fetchHolderDelegateRecordFromSeeds(context: Pick<Context, 'eddsa' | 'programs' | 'rpc'>, seeds: Parameters<typeof findHolderDelegateRecordPda>[1], options?: RpcGetAccountOptions): Promise<HolderDelegateRecord>;
export declare function safeFetchHolderDelegateRecordFromSeeds(context: Pick<Context, 'eddsa' | 'programs' | 'rpc'>, seeds: Parameters<typeof findHolderDelegateRecordPda>[1], options?: RpcGetAccountOptions): Promise<HolderDelegateRecord | null>;
