import { Subject } from 'rxjs';
import { DeferredData, Rpc } from '../rpc';
import { RpcSubjectServer } from '../rpc-subject-server';
import { RpcCredSSPOperation, RpcCredSSPOperationResult } from './rpc-credssp-model';
import { RpcCredSspRequestHandler } from './rpc-credssp-request-handler';
/**
 * CredSsp request subject interface.
 */
export interface RpcCredSspRequestSubject extends Subject<DeferredData<RpcCredSSPOperation, RpcCredSSPOperationResult>> {
}
/**
 * The class to implement RcpCredSspRequest with Subject server.
 */
export declare class RpcCredSspRequestSubjectServer extends RpcSubjectServer<RpcCredSSPOperation, RpcCredSSPOperationResult> implements RpcCredSspRequestHandler {
    /**
     * Initializes a new instance of the RpcCredSspRequestSubjectServer class.
     */
    constructor(rpc: Rpc);
    /**
     * The handler to respond a request for CredSSP request call.
     *
     * @param data The RPC CredSSP operation object.
     * @return the Promise<RpcCredSSPOperationResult> object.
     */
    handler(data: RpcCredSSPOperation): Promise<RpcCredSSPOperationResult>;
}
