///
import { AccountInfo, PublicKey } from '@solana/web3.js';
import BigNumber from 'bignumber.js';
import { Layout } from 'buffer-layout';
export declare type Parser = (pubkey: PublicKey, info: AccountInfo) => {
pubkey: PublicKey;
info: AccountInfo;
data: T;
} | undefined;
/** @internal */
export interface EncodeDecode {
decode: (buffer: Buffer, offset?: number) => T;
encode: (src: T, buffer: Buffer, offset?: number) => number;
}
/** @internal */
export declare const encodeDecode: (layout: Layout) => EncodeDecode;
/** @internal */
export declare const bool: (property?: string) => Layout;
/** @internal */
export declare const publicKey: (property?: string) => Layout;
/** @internal */
export declare const bigInt: (length: number) => (property?: string) => Layout;
/** @internal */
export declare const u64: (property?: string) => Layout;
/** @internal */
export declare const u128: (property?: string) => Layout;
export declare const u256: (property?: string) => Layout;
export declare const u512: (property?: string) => Layout;
/** @internal */
export declare const decimal: (property?: string) => Layout;