import 'reflect-metadata';
import { ValidationSchema, ValidatedArgsKey } from './ValidationSchema';
import ValidationResponse from './ValidationResponse';
import { BaseArgs } from './BaseArgs';
import { Validation } from './Validation';
export default class ValidatedArgs<T extends BaseArgs> extends Validation {
    private schema;
    constructor(schema: ValidationSchema<T>);
    validate(key?: ValidatedArgsKey<T>): ValidationResponse[];
    protected getOptionalFields(): ValidatedArgsKey<T>[];
    protected isOptional(key: ValidatedArgsKey<T>): boolean;
    private getProperty;
    private runValidation;
    private filterSchemaFromProps;
    private pushValidations;
}
