import type { Lix } from "../lix/open-lix.js";
import type { LixConversation, LixConversationMessage } from "./schema-definition.js";
import type { NewState, StateByVersion } from "../engine/entity-views/types.js";
import type { LixEntity, LixEntityCanonical } from "../entity/types.js";
/**
 * Starts a new conversation.
 *
 * Conversations allow collaborators to attach messages to a specific
 * version or entity. Initial messages can be provided and will be
 * inserted sequentially.
 *
 * @example
 * ```ts
 * // Create a standalone conversation
 * const conv = await createConversation({ lix, comments: [{ body: "Hello" }] })
 * ```
 *
 * @example
 * ```ts
 * // Create a conversation attached to an entity
 * const conv = await createConversation({
 *   lix,
 *   entity: { entity_id: "para_123", schema_key: "markdown_paragraph", file_id: "README.md" },
 *   comments: [{ body: "This paragraph needs review" }]
 * })
 * ```
 */
export declare function createConversation(args: {
    lix: Lix;
    id?: string;
    comments?: (Pick<NewState<LixConversationMessage>, "body"> & Partial<Pick<NewState<LixConversationMessage>, "lixcol_metadata">>)[];
    /** defaults to global */
    versionId?: string;
    /** Optional entity to attach the conversation to */
    entity?: LixEntity | LixEntityCanonical;
}): Promise<StateByVersion<LixConversation> & {
    comments: StateByVersion<LixConversationMessage>[];
}>;
//# sourceMappingURL=create-conversation.d.ts.map