///
import { AccountInfo } from '@solana/web3.js';
import { SnapshotConfig } from './assets';
import { RelayConfig } from './relay/types';
import { StorageConfig } from './storage';
import { ValidatorConfig } from './validator/types';
export { RelayAccountState, AccountDiff, } from '@metaplex-foundation/amman-client';
export declare type DeepPartial = {
[P in keyof T]?: T[P] extends Array ? Array> : DeepPartial;
};
/**
* Amman Config
*
* @property validatorConfig Validator configuration
* @property relayConfig Relay configuration
* @property storageConfig Mock Storage configuration
* @property streamTransactionLogs if `true` the `solana logs` command is
* spawned and its output piped through a prettifier, defaults to run except when in a CI environment
*/
export declare type AmmanConfig = {
validator?: ValidatorConfig;
relay?: RelayConfig;
storage?: StorageConfig;
snapshot?: SnapshotConfig;
streamTransactionLogs?: boolean;
assetsFolder?: string;
};
export declare type AmmanAccount = {
pretty(): Record;
};
/**
* The type that an account provider needs to implement so that amman can deserialize account data.
* @category diagnostics
*/
export declare type AmmanAccountProvider = {
byteSize: number | ((args: any) => void);
fromAccountInfo(accountInfo: AccountInfo, offset?: number): [AmmanAccount, number];
};