import z from "zod"; import { UAGProjectInterface } from "../UAGProjectInterface"; /** * Schema builder for tool input schemas. */ export declare class SchemaBuilder { private project; schema: Record; constructor(project: UAGProjectInterface); get valueRules(): string; /** * Provide the form name. */ form_name(): this; /** * The current form data being collected. * This is a flat key/value pair object where the key is the `data_path` of the field and * the value is the collected value for that field. * * ```json * { * "firstName": "Joe", * "lastName": "Smith", * "company.name": "Acme Corp", * "company.address.street": "123 Main St", * "children[0].name": "Tom", * "children[0].age": 5, * "children[1].name": "Sally", * "children[1].age": 3 * } * ``` */ form_data(): this; /** * An array of `data_path`s to get detailed information for specific fields. * Each `data_path` within the array should correlate to the fields the user has provided values for. * * ```json * [ * "firstName", * "lastName", * "company.name", * "company.address.street", * "children[0].name", * "children[0].age", * "children[1].name", * "children[1].age" * ] * ``` */ field_paths(): this; /** * The field "criteria" which for the UAG is the "requiredness" of the field. * * ["all", "required", "optional"] * */ criteria(): this; as_json(): this; /** * An array of search criteria to find matching submissions. * All criteria must match (AND logic). * * ```json * [ * { * "data_path": "customer.email", * "operator": "equals", * "search_value": "" * }, * { * "data_path": "customer.name", * "operator": "equals", * "search_value": "" * } * ] * ``` */ search_query(): this; /** * An array of "data_path"(s) for values you wish to include in the result. * If not provided, only submission IDs and timestamps are returned. * * ```json * [ * "employee.email", * "employee.firstName", * "employee.lastName" * ] */ fields_requested(): this; /** * The maximum number of results to return. Defaults to 5. */ limit(): this; /** * The full ID of the submission to retrieve details for. This value is provided using the `find_submissions` tool. */ submission_id(): this; /** * The last 4 characters of a specific submission ID. * Should ONLY be used when multiple matches are found from a previous query * and the user provides the last 4 characters of the Submission ID to disambiguate. */ submission_id_partial(): this; /** * The path of the parent component that contains nested components to collect spcific data for. * @returns */ parent_path(): this; /** * The agent persona "type" to use when processing the existing submission data. The persona provides context to the agent on how to interpret and understand the data within the form submission. If not provided, the default persona defined within the form's UAG settings will be used. * @returns */ persona(): this; /** * The data_path of a specific field within the form. */ data_path(): this; /** * An optional search value to filter select options server-side. */ search_value(): this; /** * An array of field updates to apply to the `form_data`. * Each update specifies the `data_path` and the complete new value. * * ```json * [ * { * "data_path": "customer.firstName", * "new_value": "John" * }, * { * "data_path": "customer.lastName", * "new_value": "Doe" * } * ] * ``` */ updates(): this; }