import { JsonSchema, JsonSchemaObject } from "../../schemas/jsonSchema.schema.js"; import { CallableFunctionParameter } from "./CallableFunctionParameter.js"; export declare class CallableFunctionObject extends CallableFunctionParameter { readonly type = "object"; unevaluatedProperties?: JsonSchemaObject["unevaluatedProperties"]; minProperties?: JsonSchemaObject["minProperties"]; maxProperties?: JsonSchemaObject["maxProperties"]; patternProperties?: Record; additionalProperties?: boolean | CallableFunctionParameter; private _required; private _properties; constructor(name: string, options?: Omit); static fromJSON(name: string, json: JsonSchemaObject): CallableFunctionObject; /** * Whether the given `JsonSchema` is a `JsonSchemaObject`. * * Note: This method does not check if the schema is valid, only if it has properties unique to object schemas. */ static isObjectSchema(json: JsonSchema): json is JsonSchemaObject; toJSON(): JsonSchemaObject; /** * Adds a property to the object. * * @param propertyOrSchema The property to add or the JsonSchema of the property and its name to add. * @param required Whether the property is required. * @returns this */ addProperty(propertyOrSchema: CallableFunctionParameter | (JsonSchema & { name: string; }), required?: boolean): CallableFunctionObject; /** * Gets a property by name. * * @param name The name of the property to get. * @returns The property with the given name, or undefined if it does not exist. */ getProperty(name: string): CallableFunctionParameter | undefined; /** * Removes a property by name. * * @param name The name of the property to remove. * @returns this */ removeProperty(name: string): CallableFunctionObject; /** * @returns All properties of the object. */ getProperties(): CallableFunctionParameter<{ title?: string | undefined; description?: string | undefined; default?: any; examples?: any[] | undefined; readOnly?: boolean | undefined; writeOnly?: boolean | undefined; deprecated?: boolean | undefined; $comment?: string | undefined; }>[]; /** * @returns All required properties of the object. */ getRequiredProperties(): CallableFunctionParameter<{ title?: string | undefined; description?: string | undefined; default?: any; examples?: any[] | undefined; readOnly?: boolean | undefined; writeOnly?: boolean | undefined; deprecated?: boolean | undefined; $comment?: string | undefined; }>[]; /** * @returns All optional properties of the object. */ getOptionalProperties(): CallableFunctionParameter<{ title?: string | undefined; description?: string | undefined; default?: any; examples?: any[] | undefined; readOnly?: boolean | undefined; writeOnly?: boolean | undefined; deprecated?: boolean | undefined; $comment?: string | undefined; }>[]; /** * The number of properties in the object. */ get length(): number; }