import { AnySchema } from "joi"; import { interfaces } from "./ioc"; export declare type InputValue = any; export declare type InputValues = Record; export declare type InputArgument = { description: string; schema: AnySchema; }; export declare type InputArguments = Record; export declare type AnyObject = Record; export declare type Arguments = Record; export declare type Flags = Record; export declare type CommandList = Record; export interface CommandArgument { description: string; schema: AnySchema; } export declare type CommandArguments = Record; export interface CommandFlag { description: string; schema: AnySchema; } export declare type CommandFlags = Record; export interface Config { get(key: string): T; set(key: string, value: T): void; forget(key: string): void; has(key: string): boolean; } export interface Updater { check(): Promise; update(updateProcessManager?: boolean, force?: boolean): Promise; getLatestVersion(): Promise; } export interface Installer { install(pkg: string): void; installFromChannel(pkg: string, channel: string): void; } export interface Plugin { path: string; name: string; version: string; } export interface PluginManager { list(token: string, network: string): Promise; install(token: string, network: string, pkg: string, version?: string): Promise; update(token: string, network: string, pkg: string): Promise; remove(token: string, network: string, pkg: string): Promise; } export declare enum ProcessState { Online = "online", Stopped = "stopped", Stopping = "stopping", Waiting = "waiting restart", Launching = "launching", Errored = "errored", OneLaunch = "one-launch-status" } export declare type ProcessIdentifier = string | number; export declare type ProcessDescription = Record; export declare type ProcessOptions = Record<"name" | "script" | "args", string>; export interface Application { bind(serviceIdentifier: interfaces.ServiceIdentifier): interfaces.BindingToSyntax; rebind(serviceIdentifier: interfaces.ServiceIdentifier): interfaces.BindingToSyntax; unbind(serviceIdentifier: interfaces.ServiceIdentifier): void; get(serviceIdentifier: interfaces.ServiceIdentifier): T; isBound(serviceIdentifier: interfaces.ServiceIdentifier): boolean; resolve(constructorFunction: interfaces.Newable): T; getCorePath(type: string, file?: string): string; getConsolePath(type: string, file?: string): string; } //# sourceMappingURL=contracts.d.ts.map