/**
 * @author Martin Karkowski
 * @email m.karkowski@zema.de
 * @desc [description]
 */
import { INopeDispatcher } from "../../types/nope";
import { enableTimeSyncing, generateDefineMaster, generatePingServices, waitForDispatcher } from "./connectivy";
import { enablingSyncingData } from "./data";
export { generateDefineMaster, generatePingServices, enableTimeSyncing as generateSyncServices, enablingSyncingData, waitForDispatcher, };
/**
 * Helper to define simpler names for the Services
 */
export declare const SERVICES_NAME: {
    defineMaster: typeof generateDefineMaster;
    pingService: typeof generatePingServices;
    timeSyncingService: typeof enableTimeSyncing;
    syncingDataService: typeof enablingSyncingData;
};
/**
 * Helper, which will enable all BaseServices
 *
 * @author M.Karkowski
 * @export
 * @param {INopeDispatcher} dispatcher The Dispatcher to use.
 * @param {{
 *     services?: Array<keyof typeof SERVICES_NAME>;
 *   }} [opts]
 * @return The provided Functions.
 */
export declare function addAllBaseServices(dispatcher: INopeDispatcher, opts?: {
    services?: Array<keyof typeof SERVICES_NAME>;
}): Promise<{
    manualSyncTime?: () => Promise<void>;
    determinePing?: (target: string) => Promise<{
        requestId: string;
        dispatcherId: string;
        timestamp: number;
        isMaster: boolean;
        ping: number;
    }>;
    pingAll?: () => Promise<{
        pings: Promise<{
            requestId: string;
            dispatcherId: string;
            timestamp: number;
            isMaster: boolean;
            ping: number;
        }>[];
        avg: number;
        max: {
            max: number;
            index: number;
        };
        min: {
            min: number;
            index: number;
        };
    }>;
    setMaster?: () => Promise<void>;
}>;
