import { NullableRules, UndefinableRules } from "../libs/publicTypes.ts";import { SchemaObject } from "../libs/types.ts";import { ObjectSchema, RulesForObject } from "../schemaClasses/ObjectSchema.ts";export function object<S extends SchemaObject>(options: RulesForObject<S> & NullableRules & UndefinableRules): ObjectSchema<S, null | undefined>;export function object<S extends SchemaObject>(options: RulesForObject<S> & UndefinableRules): ObjectSchema<S, undefined>;export function object<S extends SchemaObject>(rules: RulesForObject<S> & NullableRules): ObjectSchema<S, null>;export function object<S extends SchemaObject>(rules: RulesForObject<S>): ObjectSchema<S>;export function object(): ObjectSchema<SchemaObject>;export function object<S extends SchemaObject>(rules: RulesForObject<S> = {}): ObjectSchema<S> { return new ObjectSchema(rules);}