import { type ArraySchema, type BooleanSchema, type IntegerSchema, type MapSchema, type NumberSchema, type ReferenceSchema, type Schema, type StringSchema } from '@hilla/generator-typescript-core/Schema.js'; import type DependencyManager from '@hilla/generator-typescript-utils/dependencies/DependencyManager.js'; import ts, { type Expression, type TypeReferenceNode } from 'typescript'; declare const $dependencies: unique symbol; declare const $processArray: unique symbol; declare const $processRecord: unique symbol; declare const $processReference: unique symbol; declare const $processString: unique symbol; declare const $processNumber: unique symbol; declare const $processBoolean: unique symbol; declare const $processUnknown: unique symbol; declare const $originalSchema: unique symbol; declare const $schema: unique symbol; export declare abstract class ModelSchemaPartProcessor { protected readonly [$dependencies]: DependencyManager; protected readonly [$originalSchema]: Schema; protected readonly [$schema]: Schema; constructor(schema: Schema, dependencies: DependencyManager); process(): T; protected abstract [$processArray](schema: ArraySchema): T; protected abstract [$processBoolean](schema: BooleanSchema): T; protected abstract [$processNumber](schema: IntegerSchema | NumberSchema): T; protected abstract [$processRecord](schema: MapSchema): T; protected abstract [$processReference](schema: ReferenceSchema): T; protected abstract [$processString](schema: StringSchema): T; protected abstract [$processUnknown](schema: Schema): T; } export declare class ModelSchemaTypeProcessor extends ModelSchemaPartProcessor { #private; constructor(schema: Schema, dependencies: DependencyManager); protected [$processArray](schema: ArraySchema): TypeReferenceNode; protected [$processBoolean](schema: BooleanSchema): TypeReferenceNode; protected [$processNumber](schema: IntegerSchema | NumberSchema): TypeReferenceNode; protected [$processRecord](schema: MapSchema): TypeReferenceNode; protected [$processReference](schema: ReferenceSchema): TypeReferenceNode; protected [$processString](schema: StringSchema): TypeReferenceNode; protected [$processUnknown](schema: Schema): TypeReferenceNode; } export declare class ModelSchemaExpressionProcessor extends ModelSchemaPartProcessor { #private; constructor(schema: Schema, dependencies: DependencyManager); process(): readonly ts.Expression[]; protected [$processArray](schema: ArraySchema): readonly Expression[]; protected [$processBoolean](_: BooleanSchema): readonly Expression[]; protected [$processNumber](_: IntegerSchema | NumberSchema): readonly Expression[]; protected [$processRecord](_: MapSchema): readonly Expression[]; protected [$processReference](_: ReferenceSchema): readonly Expression[]; protected [$processString](_: StringSchema): readonly Expression[]; protected [$processUnknown](_: Schema): readonly Expression[]; } export {}; //# sourceMappingURL=ModelSchemaProcessor.d.ts.map