import { Subject } from 'rxjs';
import { DeferredData, Rpc } from '../rpc';
import { RpcSubjectServer } from '../rpc-subject-server';
import { RpcAliveHandler } from './rpc-alive-handler';
import { RpcAliveData } from './rpc-alive-model';
/**
 * RpcAlive subject interface.
 */
export interface RpcAliveSubject extends Subject<DeferredData<RpcAliveData, void>> {
}
/**
 * The class to implement RpcAlive with Subject server.
 */
export declare class RpcAliveSubjectServer extends RpcSubjectServer<RpcAliveData, void> implements RpcAliveHandler {
    /**
     * Initializes a new instance of the RpcAliveSubjectServer class.
     *
     * @param rpc the Rpc instance.
     */
    constructor(rpc: Rpc);
    /**
     * The handler to respond a request for RpcAlive call.
     *
     * @param data The RPC alive data object.
     * @returns return the Promise<void> object.
     */
    handler(data: RpcAliveData): Promise<void>;
}
