import { RpcObservableRequestContext } from '../rpc-observable-request';
import { RpcObservableResultContext } from '../rpc-observable-result';
/**
 * RPC Monitor request name and version.
 */
export declare class RpcObservableErrorMonitorKey {
    static command: string;
    static version: string;
}
/**
 * The monitor record.
 * - http error record.
 */
export interface ErrorMonitorRecord {
    httpError: {
        /**
         * The request URL.
         */
        url: string;
        /**
         * The method name.
         */
        method: string;
        /**
         * The status code.
         */
        statusCode: number;
        /**
         * The error message.
         */
        message: string;
        /**
         * The error code.
         */
        code: string;
        /**
         * The forbidden type.
         */
        forbidden: string;
        /**
         * The error action.
         */
        action?: string;
        /**
         * The error data.
         */
        data?: any;
    };
}
/**
 * Rpc observable error monitor request data.
 */
export interface RpcObservableErrorMonitorRequest extends ErrorMonitorRecord, RpcObservableRequestContext {
}
/**
 * Rpc observable error monitor result data.
 */
export declare type RpcObservableErrorMonitorResult = RpcObservableResultContext;
/**
 * Rpc observable error monitor error data.
 */
export interface RpcObservableErrorMonitorError extends RpcObservableResultContext {
    error: {
        message: string;
    };
}
