import { Subject } from 'rxjs';
import { DeferredData, Rpc } from '../rpc';
import { RpcSubjectServer } from '../rpc-subject-server';
import { RpcDialogHandler } from './rpc-dialog-handler';
import { RpcDialogData, RpcDialogResult } from './rpc-dialog-model';
/**
 * Rpc dialog subject interface.
 */
export interface RpcDialogSubject extends Subject<DeferredData<RpcDialogData, RpcDialogResult>> {
}
/**
 * The class to implement Rpc dialog with Subject server.
 */
export declare class RpcDialogSubjectServer extends RpcSubjectServer<RpcDialogData, RpcDialogResult> implements RpcDialogHandler {
    /**
     * Initializes a new instance of the RpcLogSubjectServer class.
     */
    constructor(rpc: Rpc);
    /**
     * The handler to respond a request for Rpc dialog call.
     *
     * @param data The RPC log record object.
     * @returns return the Promise<void> object.
     */
    handler(data: RpcDialogData): Promise<RpcDialogResult>;
}
