/// <reference types="node" resolution-mode="require"/>
import { EthAddress } from '@polyaztec/barretenberg/address';
export declare enum SdkEvent {
    VERSION_MISMATCH = "SDKEVENT_VERSION_MISMATCH",
    UPDATED_USER_STATE = "SDKEVENT_UPDATED_USER_STATE",
    UPDATED_WORLD_STATE = "SDKEVENT_UPDATED_WORLD_STATE",
    DESTROYED = "SDKEVENT_DESTROYED"
}
declare type Jsonify<T> = {
    [P in keyof T]: T[P] extends EthAddress | bigint | Buffer ? string : T[P] extends Object ? Jsonify<T[P]> : T[P];
};
export interface SdkStatus {
    serverUrl: string;
    chainId: number;
    rollupContractAddress: EthAddress;
    permitHelperContractAddress: EthAddress;
    verifierContractAddress: EthAddress;
    feePayingAssetIds: number[];
    rollupSize: number;
    syncedToRollup: number;
    latestRollupId: number;
    dataSize: number;
    dataRoot: Buffer;
    useKeyCache: boolean;
    proverless: boolean;
    version: string;
}
export declare type SdkStatusJson = Jsonify<SdkStatus>;
export declare const sdkStatusToJson: (status: SdkStatus) => SdkStatusJson;
export declare const sdkStatusFromJson: (json: SdkStatusJson) => SdkStatus;
export {};
//# sourceMappingURL=sdk_status.d.ts.map