import _m0 from 'protobufjs/minimal'; import { ExpirationConfig } from '../../../../../../yandex/cloud/ai/common/common'; import { Tool } from '../../../../../../yandex/cloud/ai/assistants/v1/common'; export declare const protobufPackage = "yandex.cloud.ai.assistants.v1.threads"; export interface Thread { /** Unique identifier of the thread. */ id: string; /** ID of the folder that the thread belongs to. */ folderId: string; /** Name of the thread. */ name: string; /** Description of the thread. */ description: string; /** Default user ID that will be used as the author for thread messages if no other author is specified. */ defaultMessageAuthorId: string; /** Identifier of the subject who created this thread. */ createdBy: string; /** Timestamp representing when the thread was created. */ createdAt?: Date; /** Identifier of the subject who last updated this thread. */ updatedBy: string; /** Timestamp representing the last time this thread was updated. */ updatedAt?: Date; /** Configuration for the expiration of the thread, defining when and how the thread will expire. */ expirationConfig?: ExpirationConfig; /** Timestamp representing when the thread will expire. */ expiresAt?: Date; /** Set of key-value pairs that can be used to organize and categorize the thread. */ labels: { [key: string]: string; }; /** List of tools that are available for assistants to use in this thread. */ tools: Tool[]; } export interface Thread_LabelsEntry { key: string; value: string; } export declare const Thread: { encode(message: Thread, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Thread; fromJSON(object: any): Thread; toJSON(message: Thread): unknown; fromPartial, never>) | undefined; expiresAt?: Date | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; tools?: ({ searchIndex?: { searchIndexIds?: string[] | undefined; maxNumResults?: number | undefined; rephraserOptions?: { rephraserUri?: string | undefined; } | undefined; callStrategy?: { alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } | undefined; } | undefined; function?: { name?: string | undefined; description?: string | undefined; parameters?: { [x: string]: any; } | undefined; } | undefined; }[] & ({ searchIndex?: { searchIndexIds?: string[] | undefined; maxNumResults?: number | undefined; rephraserOptions?: { rephraserUri?: string | undefined; } | undefined; callStrategy?: { alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } | undefined; } | undefined; function?: { name?: string | undefined; description?: string | undefined; parameters?: { [x: string]: any; } | undefined; } | undefined; } & { searchIndex?: ({ searchIndexIds?: string[] | undefined; maxNumResults?: number | undefined; rephraserOptions?: { rephraserUri?: string | undefined; } | undefined; callStrategy?: { alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } | undefined; } & { searchIndexIds?: (string[] & string[] & Record, never>) | undefined; maxNumResults?: number | undefined; rephraserOptions?: ({ rephraserUri?: string | undefined; } & { rephraserUri?: string | undefined; } & Record, never>) | undefined; callStrategy?: ({ alwaysCall?: {} | undefined; autoCall?: { name?: string | undefined; instruction?: string | undefined; } | undefined; } & { alwaysCall?: ({} & {} & Record, never>) | undefined; autoCall?: ({ name?: string | undefined; instruction?: string | undefined; } & { name?: string | undefined; instruction?: string | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>) | undefined; function?: ({ name?: string | undefined; description?: string | undefined; parameters?: { [x: string]: any; } | undefined; } & { name?: string | undefined; description?: string | undefined; parameters?: ({ [x: string]: any; } & { [x: string]: any; } & Record, never>) | undefined; } & Record, never>) | undefined; } & Record, never>)[] & Record, never>) | undefined; } & Record, never>>(object: I): Thread; }; export declare const Thread_LabelsEntry: { encode(message: Thread_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Thread_LabelsEntry; fromJSON(object: any): Thread_LabelsEntry; toJSON(message: Thread_LabelsEntry): unknown; fromPartial, never>>(object: I): Thread_LabelsEntry; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};