/**
 * 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 { Key, KeyArgs } from '../types';
export type Edition = Account<EditionAccountData>;
export type EditionAccountData = {
    key: Key;
    parent: PublicKey;
    edition: bigint;
};
export type EditionAccountDataArgs = {
    parent: PublicKey;
    edition: number | bigint;
};
export declare function getEditionAccountDataSerializer(): Serializer<EditionAccountDataArgs, EditionAccountData>;
export declare function deserializeEdition(rawAccount: RpcAccount): Edition;
export declare function fetchEdition(context: Pick<Context, 'rpc'>, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions): Promise<Edition>;
export declare function safeFetchEdition(context: Pick<Context, 'rpc'>, publicKey: PublicKey | Pda, options?: RpcGetAccountOptions): Promise<Edition | null>;
export declare function fetchAllEdition(context: Pick<Context, 'rpc'>, publicKeys: Array<PublicKey | Pda>, options?: RpcGetAccountsOptions): Promise<Edition[]>;
export declare function safeFetchAllEdition(context: Pick<Context, 'rpc'>, publicKeys: Array<PublicKey | Pda>, options?: RpcGetAccountsOptions): Promise<Edition[]>;
export declare function getEditionGpaBuilder(context: Pick<Context, 'rpc' | 'programs'>): import("@metaplex-foundation/umi").GpaBuilder<Edition, {
    key: KeyArgs;
    parent: PublicKey;
    edition: number | bigint;
}>;
export declare function getEditionSize(): number;
