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";
/**
 * Optional metadata to attach to the conversation.
 */
export type CreateConversationMetadata = {
    /**
     * Set to `true` to indicate the title is being auto-generated.
     */
    generatingTitle?: boolean | undefined;
    /**
     * Parent entity identifier to associate the conversation with. Omit or set to `null` for standalone conversations.
     */
    entityId?: string | null | undefined;
    /**
     * Model identifier in `provider/model_id` format for standalone conversations. Omit or set to `null` for entity-bound conversations.
     */
    model?: string | null | undefined;
};
export type CreateConversationRequestBody = {
    /**
     * Human-readable name for the conversation. Defaults to "Untitled" if omitted.
     */
    displayName?: string | undefined;
    /**
     * Project identifier to associate the conversation with.
     */
    projectId: string;
    /**
     * Optional metadata to attach to the conversation.
     */
    metadata?: CreateConversationMetadata | undefined;
};
/**
 * Resource type discriminator.
 */
export declare const CreateConversationKind: {
    readonly Conversation: "conversation";
};
/**
 * Resource type discriminator.
 */
export type CreateConversationKind = ClosedEnum<typeof CreateConversationKind>;
/**
 * Additional conversation metadata.
 */
export type CreateConversationConversationsMetadata = {
    /**
     * 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 created. Returns the complete conversation object including the generated ID and timestamps.
 */
export type CreateConversationResponseBody = {
    /**
     * Unique conversation identifier with `conv_` prefix.
     */
    id: string;
    /**
     * Resource type discriminator.
     */
    kind: CreateConversationKind;
    /**
     * 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?: CreateConversationConversationsMetadata | undefined;
};
/** @internal */
export type CreateConversationMetadata$Outbound = {
    generatingTitle?: boolean | undefined;
    entityId?: string | null | undefined;
    model?: string | null | undefined;
};
/** @internal */
export declare const CreateConversationMetadata$outboundSchema: z.ZodType<CreateConversationMetadata$Outbound, z.ZodTypeDef, CreateConversationMetadata>;
export declare function createConversationMetadataToJSON(createConversationMetadata: CreateConversationMetadata): string;
/** @internal */
export type CreateConversationRequestBody$Outbound = {
    displayName: string;
    projectId: string;
    metadata?: CreateConversationMetadata$Outbound | undefined;
};
/** @internal */
export declare const CreateConversationRequestBody$outboundSchema: z.ZodType<CreateConversationRequestBody$Outbound, z.ZodTypeDef, CreateConversationRequestBody>;
export declare function createConversationRequestBodyToJSON(createConversationRequestBody: CreateConversationRequestBody): string;
/** @internal */
export declare const CreateConversationKind$inboundSchema: z.ZodNativeEnum<typeof CreateConversationKind>;
/** @internal */
export declare const CreateConversationConversationsMetadata$inboundSchema: z.ZodType<CreateConversationConversationsMetadata, z.ZodTypeDef, unknown>;
export declare function createConversationConversationsMetadataFromJSON(jsonString: string): SafeParseResult<CreateConversationConversationsMetadata, SDKValidationError>;
/** @internal */
export declare const CreateConversationResponseBody$inboundSchema: z.ZodType<CreateConversationResponseBody, z.ZodTypeDef, unknown>;
export declare function createConversationResponseBodyFromJSON(jsonString: string): SafeParseResult<CreateConversationResponseBody, SDKValidationError>;
//# sourceMappingURL=createconversation.d.ts.map