import { ProviderRpcClient } from "everscale-inpage-provider";
import { SimpleKeystore } from "everscale-standalone-client/nodejs";
import { ConfigState, LockliftConfig } from "./internal/config";
import * as utils from "./utils";
import { Transactions } from "./utils";
import { Factory, FactoryType, Giver } from "./internal/factory";
import { Tracing } from "./internal/tracing";
import { TimeMovement } from "./internal/timeMovement";
import { LockliftContext } from "./internal/context/lockliftContext";
import "./chaiPlugin/types";
import { Network } from "./internal/network";
export * from "everscale-inpage-provider";
export type { Signer } from "everscale-standalone-client";
export { Dimension, zeroAddress } from "./constants";
export type { LockliftConfig } from "./internal/config";
export type { Giver } from "./internal/factory";
export { toNano, fromNano, getRandomNonce, convertAmount } from "./utils";
export { WalletTypes } from "./types";
export { TraceType, InteractionType } from "./internal/tracing/types";
export { lockliftChai } from "./chaiPlugin";
export { NetworkValue, ConfigState } from "./internal/config";
export declare class Locklift<FactorySource extends FactoryType> {
    #private;
    readonly provider: ProviderRpcClient;
    readonly keystore: SimpleKeystore;
    private readonly clock;
    readonly transactions: Transactions;
    readonly utils: typeof utils;
    private constructor();
    set tracing(tracing: Tracing);
    get tracing(): Tracing;
    set testing(testing: TimeMovement);
    get testing(): TimeMovement;
    set context(context: LockliftContext);
    get context(): LockliftContext;
    set factory(factory: Factory<FactorySource>);
    get factory(): Factory<FactorySource>;
    set network(network: Network);
    get network(): Network;
    set giver(giver: Giver);
    get giver(): Giver;
    static setup<T extends FactoryType>(config: LockliftConfig<ConfigState.INTERNAL>, network?: keyof LockliftConfig["networks"]): Promise<Locklift<T>>;
}
