import { Static } from '@sinclair/typebox'; export declare enum AgentType { BASE = "base", SKILLFUL = "skillful" } export declare enum LLMProvider { OPENAI = "openai", OPENROUTER = "openrouter", ANTHROPIC = "anthropic", MISTRAL = "mistral", HUGGING_FACE = "hugging_face", GOOGLE = "google", NILLION = "nillion" } export declare enum MessageRole { SYSTEM = "system", USER = "user", ASSISTANT = "assistant", FUNCTION = "function", TOOL = "tool", CHATBOT = "chatbot", MODEL = "model" } export declare enum ChatMessageRole { USER = "user", ASSISTANT = "assistant", SYSTEM = "system" } /** * LLM configuration for agents * Defines which model provider and settings to use */ export declare const SkaiLLMConfig: import("@sinclair/typebox").TObject<{ provider: import("@sinclair/typebox").TEnum; model: import("@sinclair/typebox").TString; temperature: import("@sinclair/typebox").TOptional; maxTokens: import("@sinclair/typebox").TOptional; }>; export type SkaiLLMConfig = Static; /** * Character/persona configuration for agents * Defines the agent's personality and behavior */ export declare const SkaiCharacterConfig: import("@sinclair/typebox").TObject<{ promptTemplateId: import("@sinclair/typebox").TOptional; }>; export type SkaiCharacterConfig = Static; /** * Complete agent configuration * Contains all settings for agent behavior, capabilities, and integrations */ export declare const SkaiAgentConfig: import("@sinclair/typebox").TObject<{ llm: import("@sinclair/typebox").TObject<{ provider: import("@sinclair/typebox").TEnum; model: import("@sinclair/typebox").TString; temperature: import("@sinclair/typebox").TOptional; maxTokens: import("@sinclair/typebox").TOptional; }>; character: import("@sinclair/typebox").TObject<{ promptTemplateId: import("@sinclair/typebox").TOptional; }>; strategy: import("@sinclair/typebox").TString; skills: import("@sinclair/typebox").TOptional>>; memory: import("@sinclair/typebox").TOptional>>; integrations: import("@sinclair/typebox").TOptional>>; routines: import("@sinclair/typebox").TOptional>; mediaProcessing: import("@sinclair/typebox").TOptional>>; token: import("@sinclair/typebox").TOptional>; sampleQuestions: import("@sinclair/typebox").TOptional>; }>; export type SkaiAgentConfig = Static; /** * Complete agent entity * Represents a SKAI agent with metadata and configuration */ export declare const SkaiAgent: import("@sinclair/typebox").TObject<{ id: import("@sinclair/typebox").TString; ownerUserId: import("@sinclair/typebox").TOptional; name: import("@sinclair/typebox").TString; description: import("@sinclair/typebox").TString; logoUrl: import("@sinclair/typebox").TOptional; isDraft: import("@sinclair/typebox").TOptional; isMinted: import("@sinclair/typebox").TOptional; type: import("@sinclair/typebox").TEnum; config: import("@sinclair/typebox").TOptional; model: import("@sinclair/typebox").TString; temperature: import("@sinclair/typebox").TOptional; maxTokens: import("@sinclair/typebox").TOptional; }>; character: import("@sinclair/typebox").TObject<{ promptTemplateId: import("@sinclair/typebox").TOptional; }>; strategy: import("@sinclair/typebox").TString; skills: import("@sinclair/typebox").TOptional>>; memory: import("@sinclair/typebox").TOptional>>; integrations: import("@sinclair/typebox").TOptional>>; routines: import("@sinclair/typebox").TOptional>; mediaProcessing: import("@sinclair/typebox").TOptional>>; token: import("@sinclair/typebox").TOptional>; sampleQuestions: import("@sinclair/typebox").TOptional>; }>>; }>; export type SkaiAgent = Static; /** * Base authentication parameters for agent operations * Used for all agent-related API calls */ export type SkaiAgentsRequestParams = { apiKey: string; }; /** * Request payload for non-streaming chat with agents * Used in POST /api/agents/{id}/chat/message */ export declare const SkaiChatRequest: import("@sinclair/typebox").TObject<{ message: import("@sinclair/typebox").TOptional; isTestMode: import("@sinclair/typebox").TOptional; }>; export type SkaiChatRequest = Static; /** * Response from non-streaming chat with agents * Contains the agent's complete response and chat history ID */ export declare const SkaiChatResponse: import("@sinclair/typebox").TObject<{ chatHistoryId: import("@sinclair/typebox").TString; message: import("@sinclair/typebox").TString; }>; export type SkaiChatResponse = Static; /** * Complete parameters for chat requests * Extends base auth params with chat-specific information */ export type SkaiChatRequestParams = SkaiAgentsRequestParams & { agentId: string; message: string; chatHistoryId?: string; isTestMode?: boolean; requestId?: string; flowId?: string; flowRunId?: string; }; /** * Media entity for streaming chat messages * Used in streaming chat requests */ export declare const SkaiMediaEntity: import("@sinclair/typebox").TObject<{ url: import("@sinclair/typebox").TString; contentType: import("@sinclair/typebox").TOptional; metadata: import("@sinclair/typebox").TOptional>; }>; export type SkaiMediaEntity = Static; /** * Vercel-compatible chat message for streaming endpoints * Used internally by SDK when calling streaming endpoints */ export declare const SkaiVercelChatMessage: import("@sinclair/typebox").TObject<{ role: import("@sinclair/typebox").TEnum; content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>; additionalKwargs: import("@sinclair/typebox").TOptional>; annotations: import("@sinclair/typebox").TOptional>; media: import("@sinclair/typebox").TOptional; metadata: import("@sinclair/typebox").TOptional>; }>>; createdAt: import("@sinclair/typebox").TOptional; }>; export type SkaiVercelChatMessage = Static; /** * Request payload for streaming chat with agents * Used internally by SDK when calling streaming endpoints * POST /api/agents/{id}/chat * POST /api/agents/{id}/chat/{chatHistoryId} */ export declare const SkaiStreamChatRequest: import("@sinclair/typebox").TObject<{ messages: import("@sinclair/typebox").TArray; content: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TString, import("@sinclair/typebox").TAny]>; additionalKwargs: import("@sinclair/typebox").TOptional>; annotations: import("@sinclair/typebox").TOptional>; media: import("@sinclair/typebox").TOptional; metadata: import("@sinclair/typebox").TOptional>; }>>; createdAt: import("@sinclair/typebox").TOptional; }>>; isTestMode: import("@sinclair/typebox").TOptional; }>; export type SkaiStreamChatRequest = Static;