import type { ObjectSchema, OneOfSchema, ProjectSchemaJSON, PropertySchema } from './project-schema/index.ts';
import type { PropertyTransform } from './types/index.ts';
export type UnionedShape = {
    propName: string;
    shapeName: string;
    shapeId: string;
    propSchema: PropertySchema;
};
export declare function enumerateOneOfKeys(projectSchema: ProjectSchemaJSON, oneOf: PropertySchema[]): UnionedShape[];
export declare function isUnionSchema(schema: PropertySchema): schema is OneOfSchema;
export declare function oneOfToObject(projectSchema: ProjectSchemaJSON, schema: PropertySchema): ObjectSchema;
export type TransformProcessFactory = (projectSchema: ProjectSchemaJSON) => PropertyTransform['process'];
export declare const createUnwrapTransform: TransformProcessFactory;
export declare const createWrapTransform: TransformProcessFactory;
