/// <reference types="node" />
import { EventEmitter } from 'events';
export interface FPPm2SendData<T extends any> {
    pm2Id: string;
    data: T;
}
/**
 * foxpage pm2 instance
 *
 * @export
 * @class FPPm2
 * @extends {EventEmitter}
 */
export declare class FPPm2 extends EventEmitter {
    id: number;
    isMaster: boolean;
    isWorker: boolean;
    isPm2: boolean;
    count: number;
    mode: 'IPC' | 'LOCAL';
    constructor(opt?: {
        masterPmId: number;
    });
    broadcast(data: any): void;
    onMessage(fn?: (data: any) => void): void;
}
/**
 * create pm2
 * @param param0
 * @returns pm2 instance
 */
export declare const createPm2: ({ name, enable }: {
    name?: string | undefined;
    enable: boolean;
}) => Promise<FPPm2 | null>;
/**
 * get pm2 instance
 * @returns
 */
export declare const getPm2: () => FPPm2 | null | undefined;
