import * as z from "zod/v3";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type DuplicateToolRequest = {
    /**
     * The id of the tool to duplicate
     */
    toolId: string;
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus: {
    readonly Live: "live";
    readonly Draft: "draft";
    readonly Pending: "pending";
    readonly Published: "published";
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export type DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus>;
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJSONType: {
    readonly Code: "code";
};
export type DuplicateToolResponseBodyToolsResponse200ApplicationJSONType = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJSONType>;
export declare const DuplicateToolResponseBodyLanguage: {
    readonly Python: "python";
};
export type DuplicateToolResponseBodyLanguage = ClosedEnum<typeof DuplicateToolResponseBodyLanguage>;
export type DuplicateToolResponseBodyCodeTool = {
    /**
     * The parameters the functions accepts, described as a JSON Schema object. See the `OpenAI` [guide](https://platform.openai.com/docs/guides/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.
     */
    parameters?: {
        [k: string]: any;
    } | undefined;
    language: DuplicateToolResponseBodyLanguage;
    /**
     * The code to execute.
     */
    code: string;
};
export type DuplicateToolResponseBody5 = {
    id?: string | undefined;
    /**
     * Entity storage path in the format: `project/folder/subfolder/...`
     *
     * @remarks
     *
     * The first element identifies the project, followed by nested folders (auto-created as needed).
     *
     * With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
     */
    path: string;
    /**
     * Unique key of the tool as it will be displayed in the UI
     */
    key: string;
    /**
     * The name of the tool as it will be displayed in the UI. This is optional and if not provided, the `key` will be used.
     */
    displayName?: string | undefined;
    /**
     * A description of the tool, used by the model to choose when and how to call the tool. We do recommend using the `description` field as accurate as possible to give enough context to the model to make the right decision.
     */
    description: string;
    /**
     * The id of the user that created the tool
     */
    createdById?: string | undefined;
    /**
     * The id of the user that last updated the tool
     */
    updatedById?: string | undefined;
    projectId: string;
    workspaceId: string;
    created: string;
    updated: string;
    /**
     * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
     */
    status?: DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus | undefined;
    versionHash?: string | undefined;
    type: DuplicateToolResponseBodyToolsResponse200ApplicationJSONType;
    codeTool: DuplicateToolResponseBodyCodeTool;
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export declare const DuplicateToolResponseBodyToolsResponse200Status: {
    readonly Live: "live";
    readonly Draft: "draft";
    readonly Pending: "pending";
    readonly Published: "published";
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export type DuplicateToolResponseBodyToolsResponse200Status = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponse200Status>;
export declare const DuplicateToolResponseBodyToolsResponse200Type: {
    readonly Mcp: "mcp";
};
export type DuplicateToolResponseBodyToolsResponse200Type = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponse200Type>;
export type DuplicateToolResponseBodyHeaders = {
    value: string;
    encrypted?: boolean | undefined;
};
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type: {
    readonly Object: "object";
};
export type DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type>;
/**
 * The original MCP tool input schema for LLM conversion
 */
export type DuplicateToolResponseBodyInputSchema = {
    type: DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type;
    properties?: {
        [k: string]: any;
    } | undefined;
    required?: Array<string> | undefined;
};
/**
 * The connection type used by the MCP server
 */
export declare const DuplicateToolResponseBodyConnectionType: {
    readonly Http: "http";
    readonly Sse: "sse";
};
/**
 * The connection type used by the MCP server
 */
export type DuplicateToolResponseBodyConnectionType = ClosedEnum<typeof DuplicateToolResponseBodyConnectionType>;
export type DuplicateToolResponseBodyMcp = {
    /**
     * The ID of the MCP server this tool belongs to
     */
    serverId: string;
    /**
     * The original tool name from the MCP server
     */
    toolName: string;
    /**
     * The MCP server URL (cached for execution)
     */
    serverUrl: string;
    /**
     * HTTP headers for MCP server requests (encrypted format)
     */
    headers?: {
        [k: string]: DuplicateToolResponseBodyHeaders;
    } | undefined;
    /**
     * The original MCP tool input schema for LLM conversion
     */
    inputSchema: DuplicateToolResponseBodyInputSchema;
    /**
     * The connection type used by the MCP server
     */
    connectionType: DuplicateToolResponseBodyConnectionType;
};
export type DuplicateToolResponseBody4 = {
    id?: string | undefined;
    /**
     * Entity storage path in the format: `project/folder/subfolder/...`
     *
     * @remarks
     *
     * The first element identifies the project, followed by nested folders (auto-created as needed).
     *
     * With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
     */
    path: string;
    /**
     * Unique key of the tool as it will be displayed in the UI
     */
    key: string;
    /**
     * The name of the tool as it will be displayed in the UI. This is optional and if not provided, the `key` will be used.
     */
    displayName?: string | undefined;
    /**
     * A description of the tool, used by the model to choose when and how to call the tool. We do recommend using the `description` field as accurate as possible to give enough context to the model to make the right decision.
     */
    description: string;
    /**
     * The id of the user that created the tool
     */
    createdById?: string | undefined;
    /**
     * The id of the user that last updated the tool
     */
    updatedById?: string | undefined;
    projectId: string;
    workspaceId: string;
    created: string;
    updated: string;
    /**
     * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
     */
    status?: DuplicateToolResponseBodyToolsResponse200Status | undefined;
    versionHash?: string | undefined;
    type: DuplicateToolResponseBodyToolsResponse200Type;
    mcp: DuplicateToolResponseBodyMcp;
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export declare const DuplicateToolResponseBodyToolsResponseStatus: {
    readonly Live: "live";
    readonly Draft: "draft";
    readonly Pending: "pending";
    readonly Published: "published";
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export type DuplicateToolResponseBodyToolsResponseStatus = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponseStatus>;
export declare const DuplicateToolResponseBodyToolsResponseType: {
    readonly Http: "http";
};
export type DuplicateToolResponseBodyToolsResponseType = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponseType>;
/**
 * The HTTP method to use.
 */
export declare const DuplicateToolResponseBodyMethod: {
    readonly Get: "GET";
    readonly Post: "POST";
    readonly Put: "PUT";
    readonly Delete: "DELETE";
};
/**
 * The HTTP method to use.
 */
export type DuplicateToolResponseBodyMethod = ClosedEnum<typeof DuplicateToolResponseBodyMethod>;
/**
 * The blueprint for the HTTP request. The `arguments` field will be used to replace the placeholders in the `url`, `headers`, `body`, and `arguments` fields.
 */
export type DuplicateToolResponseBodyBlueprint = {
    /**
     * The URL to send the request to.
     */
    url: string;
    /**
     * The HTTP method to use.
     */
    method: DuplicateToolResponseBodyMethod;
    /**
     * The headers to send with the request.
     */
    headers?: {
        [k: string]: string;
    } | undefined;
    /**
     * The body to send with the request.
     */
    body?: {
        [k: string]: any;
    } | undefined;
};
/**
 * The type of the argument.
 */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type: {
    readonly String: "string";
    readonly Number: "number";
    readonly Boolean: "boolean";
};
/**
 * The type of the argument.
 */
export type DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type = ClosedEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type>;
/**
 * The default value of the argument.
 */
export type DuplicateToolResponseBodyDefaultValue = string | number | boolean;
export type DuplicateToolResponseBodyArguments = {
    /**
     * The type of the argument.
     */
    type: DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type;
    /**
     * A description of the argument.
     */
    description: string;
    /**
     * Whether to send the argument to the model. If set to false, the argument will not be sent to the model and needs to be provided by the user or it will be left blank.
     */
    sendToModel?: boolean | undefined;
    /**
     * The default value of the argument.
     */
    defaultValue?: string | number | boolean | undefined;
};
export type DuplicateToolResponseBodyHttp = {
    /**
     * The blueprint for the HTTP request. The `arguments` field will be used to replace the placeholders in the `url`, `headers`, `body`, and `arguments` fields.
     */
    blueprint: DuplicateToolResponseBodyBlueprint;
    /**
     * The arguments to send with the request. The keys will be used to replace the placeholders in the `blueprint` field.
     */
    arguments?: {
        [k: string]: DuplicateToolResponseBodyArguments;
    } | undefined;
};
export type DuplicateToolResponseBody3 = {
    id?: string | undefined;
    /**
     * Entity storage path in the format: `project/folder/subfolder/...`
     *
     * @remarks
     *
     * The first element identifies the project, followed by nested folders (auto-created as needed).
     *
     * With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
     */
    path: string;
    /**
     * Unique key of the tool as it will be displayed in the UI
     */
    key: string;
    /**
     * The name of the tool as it will be displayed in the UI. This is optional and if not provided, the `key` will be used.
     */
    displayName?: string | undefined;
    /**
     * A description of the tool, used by the model to choose when and how to call the tool. We do recommend using the `description` field as accurate as possible to give enough context to the model to make the right decision.
     */
    description: string;
    /**
     * The id of the user that created the tool
     */
    createdById?: string | undefined;
    /**
     * The id of the user that last updated the tool
     */
    updatedById?: string | undefined;
    projectId: string;
    workspaceId: string;
    created: string;
    updated: string;
    /**
     * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
     */
    status?: DuplicateToolResponseBodyToolsResponseStatus | undefined;
    versionHash?: string | undefined;
    type: DuplicateToolResponseBodyToolsResponseType;
    http: DuplicateToolResponseBodyHttp;
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export declare const DuplicateToolResponseBodyToolsStatus: {
    readonly Live: "live";
    readonly Draft: "draft";
    readonly Pending: "pending";
    readonly Published: "published";
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export type DuplicateToolResponseBodyToolsStatus = ClosedEnum<typeof DuplicateToolResponseBodyToolsStatus>;
export declare const DuplicateToolResponseBodyToolsType: {
    readonly JsonSchema: "json_schema";
};
export type DuplicateToolResponseBodyToolsType = ClosedEnum<typeof DuplicateToolResponseBodyToolsType>;
export type DuplicateToolResponseBodyJsonSchema = {
    /**
     * The name of the response format. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
     */
    name: string;
    /**
     * A description of what the response format is for. This will be shown to the user.
     */
    description?: string | undefined;
    /**
     * The schema for the response format, described as a JSON Schema object. See the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.
     */
    schema: {
        [k: string]: any;
    };
    /**
     * Whether to enable strict schema adherence when generating the output. If set to true, the model will always follow the exact schema defined in the `schema` field. Only a subset of JSON Schema is supported when `strict` is `true`. Only compatible with `OpenAI` models.
     */
    strict?: boolean | undefined;
};
export type DuplicateToolResponseBody2 = {
    id?: string | undefined;
    /**
     * Entity storage path in the format: `project/folder/subfolder/...`
     *
     * @remarks
     *
     * The first element identifies the project, followed by nested folders (auto-created as needed).
     *
     * With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
     */
    path: string;
    /**
     * Unique key of the tool as it will be displayed in the UI
     */
    key: string;
    /**
     * The name of the tool as it will be displayed in the UI. This is optional and if not provided, the `key` will be used.
     */
    displayName?: string | undefined;
    /**
     * A description of the tool, used by the model to choose when and how to call the tool. We do recommend using the `description` field as accurate as possible to give enough context to the model to make the right decision.
     */
    description: string;
    /**
     * The id of the user that created the tool
     */
    createdById?: string | undefined;
    /**
     * The id of the user that last updated the tool
     */
    updatedById?: string | undefined;
    projectId: string;
    workspaceId: string;
    created: string;
    updated: string;
    /**
     * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
     */
    status?: DuplicateToolResponseBodyToolsStatus | undefined;
    versionHash?: string | undefined;
    type: DuplicateToolResponseBodyToolsType;
    jsonSchema: DuplicateToolResponseBodyJsonSchema;
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export declare const DuplicateToolResponseBodyStatus: {
    readonly Live: "live";
    readonly Draft: "draft";
    readonly Pending: "pending";
    readonly Published: "published";
};
/**
 * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
 */
export type DuplicateToolResponseBodyStatus = ClosedEnum<typeof DuplicateToolResponseBodyStatus>;
export declare const DuplicateToolResponseBodyType: {
    readonly Function: "function";
};
export type DuplicateToolResponseBodyType = ClosedEnum<typeof DuplicateToolResponseBodyType>;
export type DuplicateToolResponseBodyFunction = {
    /**
     * The name of the function to be called. Must be a-z, A-Z, 0-9, or contain underscores and dashes, with a maximum length of 64.
     */
    name: string;
    /**
     * A description of what the function does, used by the model to choose when and how to call the function.
     */
    description?: string | undefined;
    /**
     * Whether to enable strict schema adherence when generating the function call. If set to true, the model will follow the exact schema defined in the `parameters` field. Only a subset of JSON Schema is supported when `strict` is `true`. Currently only compatible with `OpenAI` models.
     */
    strict?: boolean | undefined;
    /**
     * The parameters the functions accepts, described as a JSON Schema object. See the `OpenAI` [guide](https://platform.openai.com/docs/guides/function-calling) for examples, and the [JSON Schema reference](https://json-schema.org/understanding-json-schema/) for documentation about the format.
     */
    parameters?: {
        [k: string]: any;
    } | undefined;
};
export type DuplicateToolResponseBody1 = {
    id?: string | undefined;
    /**
     * Entity storage path in the format: `project/folder/subfolder/...`
     *
     * @remarks
     *
     * The first element identifies the project, followed by nested folders (auto-created as needed).
     *
     * With project-based API keys, the first element is treated as a folder name, as the project is predetermined by the API key.
     */
    path: string;
    /**
     * Unique key of the tool as it will be displayed in the UI
     */
    key: string;
    /**
     * The name of the tool as it will be displayed in the UI. This is optional and if not provided, the `key` will be used.
     */
    displayName?: string | undefined;
    /**
     * A description of the tool, used by the model to choose when and how to call the tool. We do recommend using the `description` field as accurate as possible to give enough context to the model to make the right decision.
     */
    description: string;
    /**
     * The id of the user that created the tool
     */
    createdById?: string | undefined;
    /**
     * The id of the user that last updated the tool
     */
    updatedById?: string | undefined;
    projectId: string;
    workspaceId: string;
    created: string;
    updated: string;
    /**
     * The status of the tool. `Live` is the latest version of the tool. `Draft` is a version that is not yet published. `Pending` is a version that is pending approval. `Published` is a version that was live and has been replaced by a new version.
     */
    status?: DuplicateToolResponseBodyStatus | undefined;
    versionHash?: string | undefined;
    type: DuplicateToolResponseBodyType;
    function: DuplicateToolResponseBodyFunction;
};
/**
 * Successfully duplicated the tool.
 */
export type DuplicateToolResponseBody = DuplicateToolResponseBody1 | DuplicateToolResponseBody2 | DuplicateToolResponseBody3 | DuplicateToolResponseBody4 | DuplicateToolResponseBody5;
/** @internal */
export declare const DuplicateToolRequest$inboundSchema: z.ZodType<DuplicateToolRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolRequest$Outbound = {
    tool_id: string;
};
/** @internal */
export declare const DuplicateToolRequest$outboundSchema: z.ZodType<DuplicateToolRequest$Outbound, z.ZodTypeDef, DuplicateToolRequest>;
export declare function duplicateToolRequestToJSON(duplicateToolRequest: DuplicateToolRequest): string;
export declare function duplicateToolRequestFromJSON(jsonString: string): SafeParseResult<DuplicateToolRequest, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJSONStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJSONType$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJSONType>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJSONType$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJSONType>;
/** @internal */
export declare const DuplicateToolResponseBodyLanguage$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyLanguage>;
/** @internal */
export declare const DuplicateToolResponseBodyLanguage$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyLanguage>;
/** @internal */
export declare const DuplicateToolResponseBodyCodeTool$inboundSchema: z.ZodType<DuplicateToolResponseBodyCodeTool, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyCodeTool$Outbound = {
    parameters?: {
        [k: string]: any;
    } | undefined;
    language: string;
    code: string;
};
/** @internal */
export declare const DuplicateToolResponseBodyCodeTool$outboundSchema: z.ZodType<DuplicateToolResponseBodyCodeTool$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyCodeTool>;
export declare function duplicateToolResponseBodyCodeToolToJSON(duplicateToolResponseBodyCodeTool: DuplicateToolResponseBodyCodeTool): string;
export declare function duplicateToolResponseBodyCodeToolFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyCodeTool, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBody5$inboundSchema: z.ZodType<DuplicateToolResponseBody5, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBody5$Outbound = {
    _id: string;
    path: string;
    key: string;
    display_name?: string | undefined;
    description: string;
    created_by_id?: string | undefined;
    updated_by_id?: string | undefined;
    project_id: string;
    workspace_id: string;
    created: string;
    updated: string;
    status: string;
    version_hash?: string | undefined;
    type: string;
    code_tool: DuplicateToolResponseBodyCodeTool$Outbound;
};
/** @internal */
export declare const DuplicateToolResponseBody5$outboundSchema: z.ZodType<DuplicateToolResponseBody5$Outbound, z.ZodTypeDef, DuplicateToolResponseBody5>;
export declare function duplicateToolResponseBody5ToJSON(duplicateToolResponseBody5: DuplicateToolResponseBody5): string;
export declare function duplicateToolResponseBody5FromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBody5, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200Status$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200Status>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200Status$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200Status>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200Type$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200Type>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200Type$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200Type>;
/** @internal */
export declare const DuplicateToolResponseBodyHeaders$inboundSchema: z.ZodType<DuplicateToolResponseBodyHeaders, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyHeaders$Outbound = {
    value: string;
    encrypted: boolean;
};
/** @internal */
export declare const DuplicateToolResponseBodyHeaders$outboundSchema: z.ZodType<DuplicateToolResponseBodyHeaders$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyHeaders>;
export declare function duplicateToolResponseBodyHeadersToJSON(duplicateToolResponseBodyHeaders: DuplicateToolResponseBodyHeaders): string;
export declare function duplicateToolResponseBodyHeadersFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyHeaders, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJson4Type>;
/** @internal */
export declare const DuplicateToolResponseBodyInputSchema$inboundSchema: z.ZodType<DuplicateToolResponseBodyInputSchema, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyInputSchema$Outbound = {
    type: string;
    properties?: {
        [k: string]: any;
    } | undefined;
    required?: Array<string> | undefined;
};
/** @internal */
export declare const DuplicateToolResponseBodyInputSchema$outboundSchema: z.ZodType<DuplicateToolResponseBodyInputSchema$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyInputSchema>;
export declare function duplicateToolResponseBodyInputSchemaToJSON(duplicateToolResponseBodyInputSchema: DuplicateToolResponseBodyInputSchema): string;
export declare function duplicateToolResponseBodyInputSchemaFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyInputSchema, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyConnectionType$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyConnectionType>;
/** @internal */
export declare const DuplicateToolResponseBodyConnectionType$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyConnectionType>;
/** @internal */
export declare const DuplicateToolResponseBodyMcp$inboundSchema: z.ZodType<DuplicateToolResponseBodyMcp, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyMcp$Outbound = {
    server_id: string;
    tool_name: string;
    server_url: string;
    headers?: {
        [k: string]: DuplicateToolResponseBodyHeaders$Outbound;
    } | undefined;
    input_schema: DuplicateToolResponseBodyInputSchema$Outbound;
    connection_type: string;
};
/** @internal */
export declare const DuplicateToolResponseBodyMcp$outboundSchema: z.ZodType<DuplicateToolResponseBodyMcp$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyMcp>;
export declare function duplicateToolResponseBodyMcpToJSON(duplicateToolResponseBodyMcp: DuplicateToolResponseBodyMcp): string;
export declare function duplicateToolResponseBodyMcpFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyMcp, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBody4$inboundSchema: z.ZodType<DuplicateToolResponseBody4, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBody4$Outbound = {
    _id: string;
    path: string;
    key: string;
    display_name?: string | undefined;
    description: string;
    created_by_id?: string | undefined;
    updated_by_id?: string | undefined;
    project_id: string;
    workspace_id: string;
    created: string;
    updated: string;
    status: string;
    version_hash?: string | undefined;
    type: string;
    mcp: DuplicateToolResponseBodyMcp$Outbound;
};
/** @internal */
export declare const DuplicateToolResponseBody4$outboundSchema: z.ZodType<DuplicateToolResponseBody4$Outbound, z.ZodTypeDef, DuplicateToolResponseBody4>;
export declare function duplicateToolResponseBody4ToJSON(duplicateToolResponseBody4: DuplicateToolResponseBody4): string;
export declare function duplicateToolResponseBody4FromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBody4, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponseStatus$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponseStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponseStatus$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponseStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponseType$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponseType>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponseType$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponseType>;
/** @internal */
export declare const DuplicateToolResponseBodyMethod$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyMethod>;
/** @internal */
export declare const DuplicateToolResponseBodyMethod$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyMethod>;
/** @internal */
export declare const DuplicateToolResponseBodyBlueprint$inboundSchema: z.ZodType<DuplicateToolResponseBodyBlueprint, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyBlueprint$Outbound = {
    url: string;
    method: string;
    headers?: {
        [k: string]: string;
    } | undefined;
    body?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const DuplicateToolResponseBodyBlueprint$outboundSchema: z.ZodType<DuplicateToolResponseBodyBlueprint$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyBlueprint>;
export declare function duplicateToolResponseBodyBlueprintToJSON(duplicateToolResponseBodyBlueprint: DuplicateToolResponseBodyBlueprint): string;
export declare function duplicateToolResponseBodyBlueprintFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyBlueprint, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsResponse200ApplicationJson3Type>;
/** @internal */
export declare const DuplicateToolResponseBodyDefaultValue$inboundSchema: z.ZodType<DuplicateToolResponseBodyDefaultValue, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyDefaultValue$Outbound = string | number | boolean;
/** @internal */
export declare const DuplicateToolResponseBodyDefaultValue$outboundSchema: z.ZodType<DuplicateToolResponseBodyDefaultValue$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyDefaultValue>;
export declare function duplicateToolResponseBodyDefaultValueToJSON(duplicateToolResponseBodyDefaultValue: DuplicateToolResponseBodyDefaultValue): string;
export declare function duplicateToolResponseBodyDefaultValueFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyDefaultValue, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyArguments$inboundSchema: z.ZodType<DuplicateToolResponseBodyArguments, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyArguments$Outbound = {
    type: string;
    description: string;
    send_to_model: boolean;
    default_value?: string | number | boolean | undefined;
};
/** @internal */
export declare const DuplicateToolResponseBodyArguments$outboundSchema: z.ZodType<DuplicateToolResponseBodyArguments$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyArguments>;
export declare function duplicateToolResponseBodyArgumentsToJSON(duplicateToolResponseBodyArguments: DuplicateToolResponseBodyArguments): string;
export declare function duplicateToolResponseBodyArgumentsFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyArguments, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyHttp$inboundSchema: z.ZodType<DuplicateToolResponseBodyHttp, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyHttp$Outbound = {
    blueprint: DuplicateToolResponseBodyBlueprint$Outbound;
    arguments?: {
        [k: string]: DuplicateToolResponseBodyArguments$Outbound;
    } | undefined;
};
/** @internal */
export declare const DuplicateToolResponseBodyHttp$outboundSchema: z.ZodType<DuplicateToolResponseBodyHttp$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyHttp>;
export declare function duplicateToolResponseBodyHttpToJSON(duplicateToolResponseBodyHttp: DuplicateToolResponseBodyHttp): string;
export declare function duplicateToolResponseBodyHttpFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyHttp, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBody3$inboundSchema: z.ZodType<DuplicateToolResponseBody3, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBody3$Outbound = {
    _id: string;
    path: string;
    key: string;
    display_name?: string | undefined;
    description: string;
    created_by_id?: string | undefined;
    updated_by_id?: string | undefined;
    project_id: string;
    workspace_id: string;
    created: string;
    updated: string;
    status: string;
    version_hash?: string | undefined;
    type: string;
    http: DuplicateToolResponseBodyHttp$Outbound;
};
/** @internal */
export declare const DuplicateToolResponseBody3$outboundSchema: z.ZodType<DuplicateToolResponseBody3$Outbound, z.ZodTypeDef, DuplicateToolResponseBody3>;
export declare function duplicateToolResponseBody3ToJSON(duplicateToolResponseBody3: DuplicateToolResponseBody3): string;
export declare function duplicateToolResponseBody3FromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBody3, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsStatus$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsStatus$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsType$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsType>;
/** @internal */
export declare const DuplicateToolResponseBodyToolsType$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyToolsType>;
/** @internal */
export declare const DuplicateToolResponseBodyJsonSchema$inboundSchema: z.ZodType<DuplicateToolResponseBodyJsonSchema, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyJsonSchema$Outbound = {
    name: string;
    description?: string | undefined;
    schema: {
        [k: string]: any;
    };
    strict?: boolean | undefined;
};
/** @internal */
export declare const DuplicateToolResponseBodyJsonSchema$outboundSchema: z.ZodType<DuplicateToolResponseBodyJsonSchema$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyJsonSchema>;
export declare function duplicateToolResponseBodyJsonSchemaToJSON(duplicateToolResponseBodyJsonSchema: DuplicateToolResponseBodyJsonSchema): string;
export declare function duplicateToolResponseBodyJsonSchemaFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyJsonSchema, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBody2$inboundSchema: z.ZodType<DuplicateToolResponseBody2, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBody2$Outbound = {
    _id: string;
    path: string;
    key: string;
    display_name?: string | undefined;
    description: string;
    created_by_id?: string | undefined;
    updated_by_id?: string | undefined;
    project_id: string;
    workspace_id: string;
    created: string;
    updated: string;
    status: string;
    version_hash?: string | undefined;
    type: string;
    json_schema: DuplicateToolResponseBodyJsonSchema$Outbound;
};
/** @internal */
export declare const DuplicateToolResponseBody2$outboundSchema: z.ZodType<DuplicateToolResponseBody2$Outbound, z.ZodTypeDef, DuplicateToolResponseBody2>;
export declare function duplicateToolResponseBody2ToJSON(duplicateToolResponseBody2: DuplicateToolResponseBody2): string;
export declare function duplicateToolResponseBody2FromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBody2, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBodyStatus$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyStatus$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyStatus>;
/** @internal */
export declare const DuplicateToolResponseBodyType$inboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyType>;
/** @internal */
export declare const DuplicateToolResponseBodyType$outboundSchema: z.ZodNativeEnum<typeof DuplicateToolResponseBodyType>;
/** @internal */
export declare const DuplicateToolResponseBodyFunction$inboundSchema: z.ZodType<DuplicateToolResponseBodyFunction, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBodyFunction$Outbound = {
    name: string;
    description?: string | undefined;
    strict?: boolean | undefined;
    parameters?: {
        [k: string]: any;
    } | undefined;
};
/** @internal */
export declare const DuplicateToolResponseBodyFunction$outboundSchema: z.ZodType<DuplicateToolResponseBodyFunction$Outbound, z.ZodTypeDef, DuplicateToolResponseBodyFunction>;
export declare function duplicateToolResponseBodyFunctionToJSON(duplicateToolResponseBodyFunction: DuplicateToolResponseBodyFunction): string;
export declare function duplicateToolResponseBodyFunctionFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBodyFunction, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBody1$inboundSchema: z.ZodType<DuplicateToolResponseBody1, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBody1$Outbound = {
    _id: string;
    path: string;
    key: string;
    display_name?: string | undefined;
    description: string;
    created_by_id?: string | undefined;
    updated_by_id?: string | undefined;
    project_id: string;
    workspace_id: string;
    created: string;
    updated: string;
    status: string;
    version_hash?: string | undefined;
    type: string;
    function: DuplicateToolResponseBodyFunction$Outbound;
};
/** @internal */
export declare const DuplicateToolResponseBody1$outboundSchema: z.ZodType<DuplicateToolResponseBody1$Outbound, z.ZodTypeDef, DuplicateToolResponseBody1>;
export declare function duplicateToolResponseBody1ToJSON(duplicateToolResponseBody1: DuplicateToolResponseBody1): string;
export declare function duplicateToolResponseBody1FromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBody1, SDKValidationError>;
/** @internal */
export declare const DuplicateToolResponseBody$inboundSchema: z.ZodType<DuplicateToolResponseBody, z.ZodTypeDef, unknown>;
/** @internal */
export type DuplicateToolResponseBody$Outbound = DuplicateToolResponseBody1$Outbound | DuplicateToolResponseBody2$Outbound | DuplicateToolResponseBody3$Outbound | DuplicateToolResponseBody4$Outbound | DuplicateToolResponseBody5$Outbound;
/** @internal */
export declare const DuplicateToolResponseBody$outboundSchema: z.ZodType<DuplicateToolResponseBody$Outbound, z.ZodTypeDef, DuplicateToolResponseBody>;
export declare function duplicateToolResponseBodyToJSON(duplicateToolResponseBody: DuplicateToolResponseBody): string;
export declare function duplicateToolResponseBodyFromJSON(jsonString: string): SafeParseResult<DuplicateToolResponseBody, SDKValidationError>;
//# sourceMappingURL=duplicatetool.d.ts.map