///
import * as beet from '@miraplex/beet';
import * as web3 from '@solarti/web3.js';
import * as beetMiraland from '@miraplex/beet-miraland';
import { Key } from '../types/Key';
import { TokenState } from '../types/TokenState';
import { TokenDelegateRole } from '../types/TokenDelegateRole';
export type TokenRecordArgs = {
key: Key;
bump: number;
state: TokenState;
ruleSetRevision: beet.COption;
delegate: beet.COption;
delegateRole: beet.COption;
};
export declare class TokenRecord implements TokenRecordArgs {
readonly key: Key;
readonly bump: number;
readonly state: TokenState;
readonly ruleSetRevision: beet.COption;
readonly delegate: beet.COption;
readonly delegateRole: beet.COption;
private constructor();
static fromArgs(args: TokenRecordArgs): TokenRecord;
static fromAccountInfo(accountInfo: web3.AccountInfo, offset?: number): [TokenRecord, number];
static fromAccountAddress(connection: web3.Connection, address: web3.PublicKey, commitmentOrConfig?: web3.Commitment | web3.GetAccountInfoConfig): Promise;
static gpaBuilder(programId?: web3.PublicKey): beetMiraland.GpaBuilder;
static deserialize(buf: Buffer, offset?: number): [TokenRecord, number];
serialize(): [Buffer, number];
static byteSize(args: TokenRecordArgs): number;
static getMinimumBalanceForRentExemption(args: TokenRecordArgs, connection: web3.Connection, commitment?: web3.Commitment): Promise;
pretty(): {
key: string;
bump: number;
state: string;
ruleSetRevision: beet.bignum;
delegate: web3.PublicKey;
delegateRole: TokenDelegateRole;
};
}
export declare const tokenRecordBeet: beet.FixableBeetStruct;