import { Rule, ParsedRule, SchemaArray, SchemaObject, SchemaLiteral, ParsedSchemaTree } from '@ioc:Adonis/Core/Validator';
/**
 * Compiles the `Rule` object and returns `ParsedRule` object.
 */
export declare function compileRule(type: string, subtype: string, rule: Rule, tree: any): ParsedRule;
/**
 * Dry function to define a literal type
 */
export declare function getLiteralType(subtype: string, optional: boolean, nullable: boolean, ruleOptions: any, rules: Rule[]): {
    getTree(): SchemaLiteral;
};
/**
 * Dry function to define an object type
 */
export declare function getObjectType(optional: boolean, nullable: boolean, children: ParsedSchemaTree | null, rules: Rule[]): {
    getTree(): SchemaObject;
};
/**
 * Dry function to define an array type
 */
export declare function getArrayType(optional: boolean, nullable: boolean, each: SchemaLiteral | SchemaObject | SchemaArray | null, rules: Rule[]): {
    getTree(): SchemaArray;
};
