import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from "axios";
import EventEmitter2 from "eventemitter2";
import { Stream } from "../stream/stream.js";
import { TStreamConfig } from "../types/streamConfig.js";
declare abstract class EngineProcessAPI extends EventEmitter2 {
    protected _axiosInstance: AxiosInstance;
    private _engineProcessMutex;
    constructor();
    protected _apiGetStreams(axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<{
        [streamID: string]: {
            active: boolean;
            uptime: BigInt;
            uptime_str: string;
        };
    }>>;
    protected _apiGetPing(axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<string>>;
    protected _apiGetReady(axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<string>>;
    protected _apiGetStreamReady(stream: Stream, axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<string>>;
    protected _apiPostStreams(streamsMap: {
        [key: string]: Stream;
    }, axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<string>>;
    protected _apiGetStream(stream: Stream, axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<{
        active: boolean;
        uptime: number;
        uptime_str: string;
        config: TStreamConfig;
    }>>;
    protected _apiPostStream(stream: Stream, axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<string>>;
    protected _apiDeleteStream(stream: Stream, axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<string>>;
    protected _apiPutStream(stream: Stream, axiosReqConfig?: AxiosRequestConfig): Promise<AxiosResponse<string>>;
}
export { EngineProcessAPI };
//# sourceMappingURL=engineProcessAPI.d.ts.map