import type { DefaultElements, MakeRequest, MetaSysProps } from '../common-types'; import { type AiActionInvocationType, type AiActionInvocation } from './ai-action-invocation'; export declare enum StatusFilter { ALL = "all", PUBLISHED = "published" } export declare enum VariableType { RESOURCE_LINK = "ResourceLink", TEXT = "Text", STANDARD_INPUT = "StandardInput", LOCALE = "Locale", MEDIA_REFERENCE = "MediaReference", REFERENCE = "Reference", SMART_CONTEXT = "SmartContext" } export declare enum EntityTypeEntry { ENTRY = "Entry" } export type ReferenceVariableConfiguration = { allowedEntities: Array; }; export type VariableConfiguration = { strict: boolean; in: Array; } | ReferenceVariableConfiguration; export type Variable = { configuration?: VariableConfiguration; description?: string; name?: string; type: VariableType; id: string; }; export type Instruction = { variables: Array; template: string; }; export type Configuration = { modelType: string; modelTemperature: number; }; export type AiActionTestCase = { type?: 'Text'; value?: string; } | { type?: 'Reference'; value?: { entityPath?: string; entityType?: 'Entry'; entityId?: string; }; }; export type SysLinkUserOrApp = { sys: { id: string; linkType: 'User' | 'App'; type: 'Link'; }; }; export interface AiActionQueryOptions { limit?: number; skip?: number; status?: StatusFilter; } export type AiActionProps = { sys: MetaSysProps & { type: 'AiAction'; space: { sys: { id: string; }; }; publishedBy?: SysLinkUserOrApp; updatedBy: SysLinkUserOrApp; createdBy: SysLinkUserOrApp; publishedVersion?: number; version: number; publishedAt?: string; updatedAt: string; createdAt: string; id: string; }; name: string; description: string; configuration: Configuration; instruction: Instruction; testCases?: Array; }; export type CreateAiActionProps = Pick, 'name' | 'description' | 'configuration' | 'instruction' | 'testCases'>; export interface AiAction extends AiActionProps, DefaultElements { update(): Promise; delete(): Promise; publish(): Promise; unpublish(): Promise; invoke(environmentId: string, payload: AiActionInvocationType): Promise; } export declare function wrapAiAction(makeRequest: MakeRequest, data: AiActionProps): AiAction; export declare const wrapAiActionCollection: (makeRequest: MakeRequest, data: import("../common-types").CollectionProp) => import("../common-types").Collection;