import { Validator } from '../../validation/Validator';
import { Request } from 'express';
export declare class Req {
    readonly req: Request;
    readonly method: string;
    readonly path: string;
    readonly id: string;
    private readonly sym;
    constructor(req: Request);
    set<T>(key: any, value: T): void;
    get<T>(key: any): T;
}
export declare class Body extends Validator {
    private __body;
    constructor(__body: object);
    getOriginal(): any;
    get<T>(key: string, defaultValue?: T): T;
    set<T>(key: string, value: T): void;
}
export declare class Headers extends Validator {
    private __headers;
    constructor(__headers: object);
    get<T>(key: string, defaultValue?: T): T;
    set<T>(key: string, value: T): void;
}
export declare class Params extends Validator {
    private __params;
    constructor(__params: object);
    get<T>(key: string, defaultValue?: T): T;
    set<T>(key: string, value: T): void;
}
export declare class Query extends Validator {
    private __query;
    constructor(__query: object);
    get<T>(key: string, defaultValue?: T): T;
    set<T>(key: string, value: T): void;
}
