--- /dev/null
+import type { AnySchema } from "../../types";
+import type { SchemaObjCxt } from "..";
+import { Code, Name } from "../codegen";
+import { Type } from "../util";
+import type { JSONType } from "../rules";
+export interface SubschemaContext {
+ schema: AnySchema;
+ schemaPath: Code;
+ errSchemaPath: string;
+ topSchemaRef?: Code;
+ errorPath?: Code;
+ dataLevel?: number;
+ dataTypes?: JSONType[];
+ data?: Name;
+ parentData?: Name;
+ parentDataProperty?: Code | number;
+ dataNames?: Name[];
+ dataPathArr?: (Code | number)[];
+ propertyName?: Name;
+ jtdDiscriminator?: string;
+ jtdMetadata?: boolean;
+ compositeRule?: true;
+ createErrors?: boolean;
+ allErrors?: boolean;
+}
+export declare type SubschemaArgs = Partial<{
+ keyword: string;
+ schemaProp: string | number;
+ schema: AnySchema;
+ schemaPath: Code;
+ errSchemaPath: string;
+ topSchemaRef: Code;
+ data: Name | Code;
+ dataProp: Code | string | number;
+ dataTypes: JSONType[];
+ definedProperties: Set<string>;
+ propertyName: Name;
+ dataPropType: Type;
+ jtdDiscriminator: string;
+ jtdMetadata: boolean;
+ compositeRule: true;
+ createErrors: boolean;
+ allErrors: boolean;
+}>;
+export declare function getSubschema(it: SchemaObjCxt, { keyword, schemaProp, schema, schemaPath, errSchemaPath, topSchemaRef }: SubschemaArgs): SubschemaContext;
+export declare function extendSubschemaData(subschema: SubschemaContext, it: SchemaObjCxt, { dataProp, dataPropType: dpType, data, dataTypes, propertyName }: SubschemaArgs): void;
+export declare function extendSubschemaMode(subschema: SubschemaContext, { jtdDiscriminator, jtdMetadata, compositeRule, createErrors, allErrors }: SubschemaArgs): void;