import type { Rule, ParsedRule, SchemaArray, SchemaObject, SchemaLiteral, ParsedSchemaTree, NodeType, NodeSubType } from './types.js'; /** * Compiles the `Rule` object and returns `ParsedRule` object. */ export declare function compileRule(type: NodeType, subtype: NodeSubType, rule: Rule, tree: any): ParsedRule; /** * Dry function to define a literal type */ export declare function getLiteralType(subtype: NodeSubType, 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; };