import * as Joi from 'joi';
import './validator.interface';
import { HttpRequest } from '@marblejs/http';
import { Observable } from 'rxjs';
import { Schema } from './validator.schema';
import { ExtractedBody, ExtractedParams, ExtractedQuery } from './validator.interface';
/**
 * @deprecated [#1] since version 2.0,
 * [#2] use @marblejs/middlware-io instead,
 */
export declare const validator$: <TBody = any, TParams = any, TQuery = any>(schema: Partial<Schema<TBody, TParams, TQuery, any>>, options?: Joi.ValidationOptions) => (req$: Observable<HttpRequest>) => Observable<HttpRequest<import("./validator.interface").ExtractObject<TBody>, import("./validator.interface").ExtractObject<TParams>, import("./validator.interface").ExtractObject<TQuery>>>;
//# sourceMappingURL=validator.middleware.d.ts.map