import { APIResource } from './base'; import { FunctionExecutionResult, FunctionDefinition, FunctionDefinitionFormat, SearchFunctionsParams } from '../types/functions'; /** * Resource class for interacting with ACI Functions API endpoints. * Provides methods for searching, retrieving definitions, and executing functions. */ export declare class FunctionsResource extends APIResource { /** * Transforms the format enum value to lowercase for API compatibility */ private formatToLowercase; /** * Searches for functions based on specified criteria. * TODO: return specific type for returned functions based on FunctionDefinitionFormat * * @param {SearchFunctionsParams} params * @returns Promise resolving to an array of function definitions matching the search criteria * @throws Various exceptions for different HTTP status codes */ search(params: SearchFunctionsParams): Promise; /** * Retrieves the definition of a specific function. * TODO: return specific type for returned function definition based on FunctionDefinitionFormat * * @param functionName - Name of the function to retrieve * @param format - Format of the function definition to return * @returns Promise resolving to the function definition * @throws Various exceptions for different HTTP status codes */ getDefinition(functionName: string, format?: FunctionDefinitionFormat): Promise; /** * Executes an ACI indexed function (tool) with the provided arguments. * * @param params - Execution parameters * @param params.function_name - Name of the function to execute * @param params.function_parameters - Dictionary containing the input arguments for the function * @param params.linked_account_owner_id - Specifies which linked account's credentials should be used for execution * @returns Promise resolving to the function execution result * @throws Various exceptions for different HTTP status codes */ execute(params: { function_name: string; function_parameters: Record; linked_account_owner_id: string; }): Promise; }