/// <reference types="node" />
import * as web3 from '@solana/web3.js';
import * as beet from '@metaplex-foundation/beet';
import * as beetSolana from '@metaplex-foundation/beet-solana';
export declare type FreezeEscrowArgs = {
    candyGuard: web3.PublicKey;
    candyMachine: web3.PublicKey;
    frozenCount: beet.bignum;
    firstMintTime: beet.COption<beet.bignum>;
    freezePeriod: beet.bignum;
    destination: web3.PublicKey;
    authority: web3.PublicKey;
};
export declare const freezeEscrowDiscriminator: number[];
export declare class FreezeEscrow implements FreezeEscrowArgs {
    readonly candyGuard: web3.PublicKey;
    readonly candyMachine: web3.PublicKey;
    readonly frozenCount: beet.bignum;
    readonly firstMintTime: beet.COption<beet.bignum>;
    readonly freezePeriod: beet.bignum;
    readonly destination: web3.PublicKey;
    readonly authority: web3.PublicKey;
    private constructor();
    static fromArgs(args: FreezeEscrowArgs): FreezeEscrow;
    static fromAccountInfo(accountInfo: web3.AccountInfo<Buffer>, offset?: number): [FreezeEscrow, number];
    static fromAccountAddress(connection: web3.Connection, address: web3.PublicKey, commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig): Promise<FreezeEscrow>;
    static gpaBuilder(programId?: web3.PublicKey): beetSolana.GpaBuilder<{
        authority: any;
        accountDiscriminator: any;
        candyGuard: any;
        candyMachine: any;
        frozenCount: any;
        firstMintTime: any;
        freezePeriod: any;
        destination: any;
    }>;
    static deserialize(buf: Buffer, offset?: number): [FreezeEscrow, number];
    serialize(): [Buffer, number];
    static byteSize(args: FreezeEscrowArgs): number;
    static getMinimumBalanceForRentExemption(args: FreezeEscrowArgs, connection: web3.Connection, commitment?: web3.Commitment): Promise<number>;
    pretty(): {
        candyGuard: string;
        candyMachine: string;
        frozenCount: number | {
            toNumber: () => number;
        };
        firstMintTime: beet.COption<beet.bignum>;
        freezePeriod: number | {
            toNumber: () => number;
        };
        destination: string;
        authority: string;
    };
}
export declare const freezeEscrowBeet: beet.FixableBeetStruct<FreezeEscrow, FreezeEscrowArgs & {
    accountDiscriminator: number[];
}>;
