/// import { ProviderRpcClient } from "everscale-inpage-provider"; import type { Ed25519KeyPair } from "everscale-standalone-client"; import { ConnectionProperties } from "everscale-standalone-client/nodejs"; import { Giver } from "../factory"; import Joi from "joi"; export declare enum ConfigState { EXTERNAL = 0, INTERNAL = 1 } export interface LockliftConfig { compiler: { includesPath?: string; externalContracts?: ExternalCotracts; } & ({ path: string; } | { version: string; }); linker: { path: string; lib: string; } | { version: string; }; networks: Networks; mocha: Mocha.MochaOptions & { tsconfig?: string; }; } export type KeysConfig = { path?: string; phrase?: string; amount: number; }; export type Networks = Record<"local" | string, NetworkValue>; export interface NetworkValue { giver: GiverConfig; keys: T extends ConfigState.EXTERNAL ? KeysConfig : Required; connection: ConnectionProperties; tracing?: { endpoint: string; }; } export type ExternalCotracts = Record>; export type GiverConfig = { address: string; giverFactory?: (ever: ProviderRpcClient, keyPair: Ed25519KeyPair, address: string) => Giver; } & ({ key: string; } | { phrase: string; accountId: number; }); export declare const JoiConfig: Joi.ObjectSchema>; export declare function loadConfig(configPath: string): LockliftConfig;