import { XMPPService } from "../connection/XMPPService";
export {};
import { Core } from "../Core";
import { Logger } from "../common/Logger";
import { S2SService } from "./S2SService";
import { EventEmitter } from "events";
import { RESTService } from "../connection/RESTService";
import { LevelLogs } from "../common/LevelLogs.js";
declare class GenericService extends LevelLogs {
    protected _logger: Logger;
    protected _logId: string;
    protected _xmpp: XMPPService;
    protected _options: any;
    protected _s2s: S2SService;
    protected _useXMPP: boolean;
    protected _useS2S: boolean;
    protected _eventEmitter: EventEmitter;
    protected _rest: RESTService;
    _started: boolean;
    protected _initialized: boolean;
    protected _core: Core;
    protected _startConfig: {
        start_up: boolean;
        optional: boolean;
    };
    get startConfig(): {
        start_up: boolean;
        optional: boolean;
    };
    protected ready: boolean;
    protected startingInfos: {
        constructorDate: Date;
        startDate: Date;
        startedDate: Date;
        initilizedDate: Date;
        readyDate: Date;
    };
    protected getAccessorName(): string;
    constructor(_logger: Logger, logId: string, _eventEmitter: any);
    initStartDate(): void;
    cleanMemoryCache(): void;
    get startedDuration(): number;
    get initializedDuration(): number;
    setConstructed(): void;
    setStarted(): void;
    setInitialized(): void;
    setStopped(): void;
    callRestMethod(methodName: string, lesarguments: any): Promise<any>;
}
export { GenericService as GenericService };
