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";
/**
 * Metadata fields to update. Only provided fields are modified.
 */
export type UpdateConversationMetadata = {
    /**
     * Set to `true` to indicate the title is being auto-generated.
     */
    generatingTitle?: boolean | undefined;
    /**
     * Parent entity identifier. Set to `null` to detach from an entity.
     */
    entityId?: string | null | undefined;
};
export type UpdateConversationRequestBody = {
    /**
     * New display name for the conversation. Maximum 100 characters.
     */
    displayName?: string | undefined;
    /**
     * Metadata fields to update. Only provided fields are modified.
     */
    metadata?: UpdateConversationMetadata | undefined;
};
export type UpdateConversationRequest = {
    /**
     * The unique identifier of the conversation to update
     */
    conversationId: string;
    requestBody: UpdateConversationRequestBody;
};
/**
 * Resource type discriminator.
 */
export declare const UpdateConversationKind: {
    readonly Conversation: "conversation";
};
/**
 * Resource type discriminator.
 */
export type UpdateConversationKind = ClosedEnum<typeof UpdateConversationKind>;
/**
 * Additional conversation metadata.
 */
export type UpdateConversationConversationsMetadata = {
    /**
     * When `true`, indicates the conversation title is being auto-generated.
     */
    generatingTitle?: boolean | undefined;
    /**
     * Parent entity identifier (e.g., agent or deployment). Set to `null` for standalone conversations.
     */
    entityId?: string | null | undefined;
    /**
     * Model identifier for standalone conversations in `provider/model_id` format. Set to `null` for entity-bound conversations.
     */
    model?: string | null | undefined;
};
/**
 * Conversation successfully updated. Returns the complete updated conversation object.
 */
export type UpdateConversationResponseBody = {
    /**
     * Unique conversation identifier with `conv_` prefix.
     */
    id: string;
    /**
     * Resource type discriminator.
     */
    kind: UpdateConversationKind;
    /**
     * Human-readable name for the conversation. Maximum 100 characters.
     */
    displayName: string;
    /**
     * Unix timestamp in milliseconds when the conversation was created.
     */
    createdAt: number;
    /**
     * Unix timestamp in milliseconds when the conversation was last modified.
     */
    updatedAt: number;
    /**
     * Identifier of the user or system that created the conversation.
     */
    createdById?: string | undefined;
    /**
     * Identifier of the user or system that last modified the conversation.
     */
    updatedById?: string | undefined;
    /**
     * Additional conversation metadata.
     */
    metadata?: UpdateConversationConversationsMetadata | undefined;
};
/** @internal */
export type UpdateConversationMetadata$Outbound = {
    generatingTitle?: boolean | undefined;
    entityId?: string | null | undefined;
};
/** @internal */
export declare const UpdateConversationMetadata$outboundSchema: z.ZodType<UpdateConversationMetadata$Outbound, z.ZodTypeDef, UpdateConversationMetadata>;
export declare function updateConversationMetadataToJSON(updateConversationMetadata: UpdateConversationMetadata): string;
/** @internal */
export type UpdateConversationRequestBody$Outbound = {
    displayName?: string | undefined;
    metadata?: UpdateConversationMetadata$Outbound | undefined;
};
/** @internal */
export declare const UpdateConversationRequestBody$outboundSchema: z.ZodType<UpdateConversationRequestBody$Outbound, z.ZodTypeDef, UpdateConversationRequestBody>;
export declare function updateConversationRequestBodyToJSON(updateConversationRequestBody: UpdateConversationRequestBody): string;
/** @internal */
export type UpdateConversationRequest$Outbound = {
    conversation_id: string;
    RequestBody: UpdateConversationRequestBody$Outbound;
};
/** @internal */
export declare const UpdateConversationRequest$outboundSchema: z.ZodType<UpdateConversationRequest$Outbound, z.ZodTypeDef, UpdateConversationRequest>;
export declare function updateConversationRequestToJSON(updateConversationRequest: UpdateConversationRequest): string;
/** @internal */
export declare const UpdateConversationKind$inboundSchema: z.ZodNativeEnum<typeof UpdateConversationKind>;
/** @internal */
export declare const UpdateConversationConversationsMetadata$inboundSchema: z.ZodType<UpdateConversationConversationsMetadata, z.ZodTypeDef, unknown>;
export declare function updateConversationConversationsMetadataFromJSON(jsonString: string): SafeParseResult<UpdateConversationConversationsMetadata, SDKValidationError>;
/** @internal */
export declare const UpdateConversationResponseBody$inboundSchema: z.ZodType<UpdateConversationResponseBody, z.ZodTypeDef, unknown>;
export declare function updateConversationResponseBodyFromJSON(jsonString: string): SafeParseResult<UpdateConversationResponseBody, SDKValidationError>;
//# sourceMappingURL=updateconversation.d.ts.map