import { STSDefaultServerToClientEvents, STSDefaultClientToServerEvents } from '@nsshunt/stssocketioutils';
import { JSONObject } from '@nsshunt/stsutils';
import { IWorker, IRunner, IRunnerOptions, IWorkerOptions, IWorkers, IRunnerSearchFilters, IExecuteWorkerActionResult, IExecuteRunnerActionResult, IRunnerState } from '@nsshunt/stsrunnerframework';
export declare enum IEventReturnValueBaseType {
    'serviceDetails' = "serviceDetails",
    'workers' = "workers",
    'archiveList' = "archiveList",
    'runner' = "runner",
    'worker' = "worker",
    'executeWorkerActionResult' = "executeWorkerActionResult",
    'executeRunnerActionResult' = "executeRunnerActionResult"
}
export declare enum IEventRequestCommand {
    'AddRunner' = "AddRunner",
    'AddRunnerToWorker' = "AddRunnerToWorker",
    'AddWorker' = "AddWorker",
    'GetService' = "GetService",
    'GetWorkers' = "GetWorkers",
    'GetWorkersSmall' = "GetWorkersSmall",
    'GetArchiveList' = "GetArchiveList",
    'StartWorkers' = "StartWorkers",
    'StopWorkers' = "StopWorkers",
    'PauseWorkers' = "PauseWorkers",
    'ResumeWorkers' = "ResumeWorkers",
    'ExecuteWorkers' = "ExecuteWorkers",
    'ResetWorkers' = "ResetWorkers",
    'TerminateWorkers' = "TerminateWorkers",
    'UpdateWorkers' = "UpdateWorkers",
    'StartRunners' = "StartRunners",
    'StopRunners' = "StopRunners",
    'PauseRunners' = "PauseRunners",
    'ResumeRunners' = "ResumeRunners",
    'ExecuteRunners' = "ExecuteRunners",
    'ResetRunners' = "ResetRunners",
    'TerminateRunners' = "TerminateRunners",
    'UpdateRunners' = "UpdateRunners"
}
export interface IEventReturnValueBase {
    id: string;
    workerManagerId: string;
    name: string;
    type: IEventReturnValueBaseType;
    eventRequestCommand: IEventRequestCommand;
}
export interface IServiceRetVal extends IEventReturnValueBase {
    serviceDetails: JSONObject;
}
export interface IWorkersRetVal extends IEventReturnValueBase {
    workers: IWorkers;
}
export interface IArchiveListRetVal extends IEventReturnValueBase {
    archiveList: IRunner[];
}
export interface IRunnerRetVal extends IEventReturnValueBase {
    runner: IRunner;
}
export interface IWorkerRetVal extends IEventReturnValueBase {
    worker: IWorker;
}
export interface IExecuteWorkerActionResultRetVal extends IEventReturnValueBase {
    executeWorkerActionResult: IExecuteWorkerActionResult[];
}
export interface IExecuteRunnerActionResultRetVal extends IEventReturnValueBase {
    executeRunnerActionResult: IExecuteRunnerActionResult | IExecuteRunnerActionResult[];
}
export interface IStateChangeRetVal extends IEventReturnValueBase {
    runner: IRunner;
}
export type PayloadEventRetVal = IServiceRetVal | IWorkersRetVal | IArchiveListRetVal | IRunnerRetVal | IWorkerRetVal | IExecuteWorkerActionResultRetVal | IStateChangeRetVal;
export interface ServerToClientEvents extends STSDefaultServerToClientEvents {
    subscribeAck: (data: any) => void;
    unsubscribeAck: (data: any) => void;
    subscribeKeepAliveAck: (data: any) => void;
    doneAck: () => void;
    compute3: (arg: number, callback: (data: JSONObject) => void) => void;
    ServiceCommandGetThreads: (data: any) => void;
    ServiceCommandGetThreadsEx: (data: any, callback: (data: JSONObject) => void) => void;
    GetThreadDetailsFromService: (data: any, callback: (data: JSONObject) => void) => void;
    stsstart: (data: any) => void;
    stsstop: (data: any) => void;
    stspause: (data: any) => void;
    stsresume: (data: any) => void;
    stsexecute: (data: any) => void;
    stsreset: (data: any) => void;
    stsupdate: (data: any) => void;
    ststerminate: (data: any) => void;
    servicedetails: (data: any) => void;
    getRunnerStatus: (data: any, callback: (data: JSONObject) => void) => void;
    clientConnected: (data: any) => void;
    GetService: (callback: (data: IServiceRetVal) => void) => void;
    GetWorkers: (callback: (data: IWorkersRetVal) => void) => void;
    GetWorkersSmall: (states: IRunnerState[], callback: (data: IWorkersRetVal) => void) => void;
    GetArchiveList: (runnerSearchFilters: IRunnerSearchFilters, callback: (data: IArchiveListRetVal) => void) => void;
    AddRunner: (options: IRunnerOptions, callback: (data: IRunnerRetVal) => void) => void;
    AddRunnerToWorker: (workerId: string, options: IRunnerOptions, callback: (data: IRunnerRetVal) => void) => void;
    AddWorker: (options: IWorkerOptions, callback: (data: IWorkerRetVal) => void) => void;
    StartWorkers: (workerIds: string[], callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    StopWorkers: (workerIds: string[], callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    PauseWorkers: (workerIds: string[], callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    ResumeWorkers: (workerIds: string[], callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    ExecuteWorkers: (workerIds: string[], callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    ResetWorkers: (workerIds: string[], callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    TerminateWorkers: (workerIds: string[], callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    UpdateWorkers: (workerIds: string[], options: Partial<IRunnerOptions>, callback: (data: IExecuteWorkerActionResultRetVal) => void) => void;
    StartRunners: (workerId: string, runnerIds: string[], callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    StopRunners: (workerId: string, runnerIds: string[], callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    PauseRunners: (workerId: string, runnerIds: string[], callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    ResumeRunners: (workerId: string, runnerIds: string[], callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    ExecuteRunners: (workerId: string, runnerIds: string[], callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    ResetRunners: (workerId: string, runnerIds: string[], callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    TerminateRunners: (workerId: string, runnerIds: string[], callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    UpdateRunners: (workerId: string, runnerIds: string[], options: Partial<IRunnerOptions>, callback: (data: IExecuteRunnerActionResultRetVal) => void) => void;
    disconnect: (data: any) => void;
    connect_error: (data: any) => void;
    error: (data: any) => void;
}
export interface ClientToServerEvents extends STSDefaultClientToServerEvents {
    subscribe: (data: any) => void;
    unsubscribe: (data: any) => void;
    subscribeKeepAlive: (data: any) => void;
    done: () => void;
    compute: (arg: number, callback: (data: string) => void) => void;
    compute2: (arg: number, callback: (data: {
        data: any;
    }) => void) => void;
    broadcast: () => void;
    GetThreadDetails: (arg: JSONObject, callback: (data: JSONObject) => void) => void;
    __STSsendToRoomWithCB: (rooms: string[], payload: {
        command: string;
        payload: any;
    }) => void;
    servicedetails: (data: any) => void;
    StateChange: (data: IStateChangeRetVal) => void;
}
//# sourceMappingURL=wsevents.d.ts.map