import AccountApi from './Account'; import CurrentAccount from './Account/CurrentAccount'; import ApiClient, { ApiError } from './ApiClient'; import { SupernetType } from './ApiClient/WebSocketClient/types'; import { Logger, LogLevel } from './lib/DefaultLogger'; import ProjectsApi from './Projects'; import Job, { JobStatus } from './Projects/Job'; import Project, { ProjectStatus } from './Projects/Project'; import { AvailableModel, ProjectParams, Scheduler, TimeStepSpacing } from './Projects/types'; import StatsApi from './Stats'; import ErrorData from './types/ErrorData'; export type { AvailableModel, ErrorData, JobStatus, Logger, LogLevel, ProjectParams, ProjectStatus, Scheduler, SupernetType, TimeStepSpacing }; export { ApiError, CurrentAccount, Job, Project }; export interface SogniClientConfig { /** * The application ID string. Must be unique, multiple connections with the same ID will be rejected. */ appId: string; /** * Override the default REST API endpoint * @internal */ restEndpoint?: string; /** * Override the default WebSocket API endpoint * @internal */ socketEndpoint?: string; /** * Which network to use after logging in. Can be 'fast' or 'relaxed' */ network: SupernetType; /** * Logger to use. If not provided, a default console logger will be used */ logger?: Logger; /** * Log level to use. This option is ignored if a logger is provided * @default 'warn' **/ logLevel?: LogLevel; /** * If provided, the client will connect to this JSON-RPC endpoint to interact with the blockchain * @deprecated This option is deprecated and is not used internally. Left for backward compatibility */ jsonRpcUrl?: string; /** * If true, the client will connect to the testnet. While Sogni is on Testnet, do not set to `false` */ testnet?: boolean; /** * @internal * Custom agent to use for HTTP requests. */ agent?: any; } export declare class SogniClient { account: AccountApi; projects: ProjectsApi; stats: StatsApi; apiClient: ApiClient; private constructor(); get currentAccount(): CurrentAccount; /** * Instance creation may involve async operations, so we use a static method * @param config */ static createInstance(config: SogniClientConfig): Promise; }