import type { ParseContext, SchemaNode, UnknownKeyMode } from "../types.js"; import { BaseSchema } from "./base.js"; import type { OptionalSchema } from "./optional.js"; /** Flatten an intersection into a clean single-level type. */ type Prettify = { [K in keyof T]: T[K]; } & {}; /** Map a shape record to its inferred output type, separating required from optional fields. */ export type InferShape>> = Prettify<{ [K in keyof T as T[K] extends OptionalSchema ? never : K]: T[K]["_output"]; } & { [K in keyof T as T[K] extends OptionalSchema ? K : never]?: T[K]["_output"]; }>; export declare class ObjectSchema> = Record> extends BaseSchema, InferShape> { private _properties; private _unknownKeys; private _unknownKeysExplicit; constructor(shape: TShape, options?: { unknownKeys?: UnknownKeyMode; }); unknownKeys(mode: UnknownKeyMode): ObjectSchema; private _effectiveUnknownKeys; private _exportUnknownKeys; _validate(input: unknown, ctx: ParseContext): unknown; _children(): BaseSchema[]; _toNode(): SchemaNode; } export {}; //# sourceMappingURL=object.d.ts.map