import { GrpcClientFactory, GrpcEvent, GrpcMetadata } from '@ngx-grpc/common';
import { GrpcHandler } from '@ngx-grpc/core';
import { Observable } from 'rxjs';
import * as armonikApiGrpcV1Sessions007 from './sessions-common.pb';
import * as i0 from "@angular/core";
/**
 * Service client implementation for armonik.api.grpc.v1.sessions.Sessions
 */
export declare class SessionsClient {
    private handler;
    private client;
    /**
     * Raw RPC implementation for each service client method.
     * The raw methods provide more control on the incoming data and events. E.g. they can be useful to read status `OK` metadata.
     * Attention: these methods do not throw errors when non-zero status codes are received.
     */
    $raw: {
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/ListSessions
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.ListSessionsResponse>>
         */
        listSessions: (requestData: armonikApiGrpcV1Sessions007.ListSessionsRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.ListSessionsResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/GetSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.GetSessionResponse>>
         */
        getSession: (requestData: armonikApiGrpcV1Sessions007.GetSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.GetSessionResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/CancelSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.CancelSessionResponse>>
         */
        cancelSession: (requestData: armonikApiGrpcV1Sessions007.CancelSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.CancelSessionResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/CreateSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.CreateSessionReply>>
         */
        createSession: (requestData: armonikApiGrpcV1Sessions007.CreateSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.CreateSessionReply>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/PauseSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.PauseSessionResponse>>
         */
        pauseSession: (requestData: armonikApiGrpcV1Sessions007.PauseSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.PauseSessionResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/ResumeSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.ResumeSessionResponse>>
         */
        resumeSession: (requestData: armonikApiGrpcV1Sessions007.ResumeSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.ResumeSessionResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/CloseSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.CloseSessionResponse>>
         */
        closeSession: (requestData: armonikApiGrpcV1Sessions007.CloseSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.CloseSessionResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/PurgeSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.PurgeSessionResponse>>
         */
        purgeSession: (requestData: armonikApiGrpcV1Sessions007.PurgeSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.PurgeSessionResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/DeleteSession
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.DeleteSessionResponse>>
         */
        deleteSession: (requestData: armonikApiGrpcV1Sessions007.DeleteSessionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.DeleteSessionResponse>>;
        /**
         * Unary call: /armonik.api.grpc.v1.sessions.Sessions/StopSubmission
         *
         * @param requestMessage Request message
         * @param requestMetadata Request metadata
         * @returns Observable<GrpcEvent<armonikApiGrpcV1Sessions007.StopSubmissionResponse>>
         */
        stopSubmission: (requestData: armonikApiGrpcV1Sessions007.StopSubmissionRequest, requestMetadata?: GrpcMetadata) => Observable<GrpcEvent<armonikApiGrpcV1Sessions007.StopSubmissionResponse>>;
    };
    constructor(settings: any, clientFactory: GrpcClientFactory<any>, handler: GrpcHandler);
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/ListSessions
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.ListSessionsResponse>
     */
    listSessions(requestData: armonikApiGrpcV1Sessions007.ListSessionsRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.ListSessionsResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/GetSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.GetSessionResponse>
     */
    getSession(requestData: armonikApiGrpcV1Sessions007.GetSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.GetSessionResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/CancelSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.CancelSessionResponse>
     */
    cancelSession(requestData: armonikApiGrpcV1Sessions007.CancelSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.CancelSessionResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/CreateSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.CreateSessionReply>
     */
    createSession(requestData: armonikApiGrpcV1Sessions007.CreateSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.CreateSessionReply>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/PauseSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.PauseSessionResponse>
     */
    pauseSession(requestData: armonikApiGrpcV1Sessions007.PauseSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.PauseSessionResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/ResumeSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.ResumeSessionResponse>
     */
    resumeSession(requestData: armonikApiGrpcV1Sessions007.ResumeSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.ResumeSessionResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/CloseSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.CloseSessionResponse>
     */
    closeSession(requestData: armonikApiGrpcV1Sessions007.CloseSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.CloseSessionResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/PurgeSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.PurgeSessionResponse>
     */
    purgeSession(requestData: armonikApiGrpcV1Sessions007.PurgeSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.PurgeSessionResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/DeleteSession
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.DeleteSessionResponse>
     */
    deleteSession(requestData: armonikApiGrpcV1Sessions007.DeleteSessionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.DeleteSessionResponse>;
    /**
     * Unary call @/armonik.api.grpc.v1.sessions.Sessions/StopSubmission
     *
     * @param requestMessage Request message
     * @param requestMetadata Request metadata
     * @returns Observable<armonikApiGrpcV1Sessions007.StopSubmissionResponse>
     */
    stopSubmission(requestData: armonikApiGrpcV1Sessions007.StopSubmissionRequest, requestMetadata?: GrpcMetadata): Observable<armonikApiGrpcV1Sessions007.StopSubmissionResponse>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SessionsClient, [{ optional: true; }, null, null]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SessionsClient>;
}
