You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							29 lines
						
					
					
						
							823 B
						
					
					
				
			
		
		
	
	
							29 lines
						
					
					
						
							823 B
						
					
					
				import type { AddedKeywordDefinition } from "../types";
 | 
						|
declare const _jsonTypes: readonly ["string", "number", "integer", "boolean", "null", "object", "array"];
 | 
						|
export declare type JSONType = typeof _jsonTypes[number];
 | 
						|
export declare function isJSONType(x: unknown): x is JSONType;
 | 
						|
declare type ValidationTypes = {
 | 
						|
    [K in JSONType]: boolean | RuleGroup | undefined;
 | 
						|
};
 | 
						|
export interface ValidationRules {
 | 
						|
    rules: RuleGroup[];
 | 
						|
    post: RuleGroup;
 | 
						|
    all: {
 | 
						|
        [Key in string]?: boolean | Rule;
 | 
						|
    };
 | 
						|
    keywords: {
 | 
						|
        [Key in string]?: boolean;
 | 
						|
    };
 | 
						|
    types: ValidationTypes;
 | 
						|
}
 | 
						|
export interface RuleGroup {
 | 
						|
    type?: JSONType;
 | 
						|
    rules: Rule[];
 | 
						|
}
 | 
						|
export interface Rule {
 | 
						|
    keyword: string;
 | 
						|
    definition: AddedKeywordDefinition;
 | 
						|
}
 | 
						|
export declare function getRules(): ValidationRules;
 | 
						|
export {};
 |