/** * Implementation Services * * This module provides domain-specific service functions for interacting with * the /api/v4/implementations/* endpoints. These services handle request building, * validation, error handling, and authentication for implementation-related API calls. * * Services are consumed by plugins to avoid code duplication while maintaining * separation between the generic HTTP client layer and business logic. */ import type { ApiClient } from "../api"; import type { NeedsResponse, NeedChoicesResponse } from "../api/types"; /** * Fetches implementation needs (input fields) for a specific action. * * This service calls the /api/v4/implementations/needs/ endpoint and returns * the raw response after validating success. The response includes all field * metadata including static choices, field types, and validation rules. * * @param params - Request parameters * @param params.api - API client instance * @param params.selectedApi - Versioned implementation ID (e.g., "SlackCLIAPI@1.21.1") * @param params.action - Action key * @param params.actionType - Action type (read, write, etc.) * @param params.connectionId - Connection ID (null to skip connection) * @param params.inputs - Input values that may affect available fields * @returns Promise resolving to NeedsResponse * @throws {ZapierApiError} When the API request fails or returns success: false */ export declare function fetchImplementationNeeds({ api, selectedApi, action, actionType, connectionId, inputs, }: { api: ApiClient; selectedApi: string; action: string; actionType: string; connectionId: string | number | null; inputs?: Record; }): Promise; /** * Fetches dynamic choices for a specific input field. * * This service calls the /api/v4/implementations/choices/ endpoint and returns * the raw response after validating success. The response includes available * choices for dropdown fields with pagination support. * * @param params - Request parameters * @param params.api - API client instance * @param params.actionId - Action ID (e.g., "core:123") * @param params.inputFieldId - Input field key * @param params.connectionId - Connection ID (null to skip connection) * @param params.inputs - Input values that may affect available choices * @param params.page - Page number for pagination (0-indexed) * @returns Promise resolving to NeedChoicesResponse * @throws {ZapierApiError} When the API request fails or returns success: false */ export declare function fetchImplementationChoices({ api, actionId, inputFieldId, connectionId, inputs, page, }: { api: ApiClient; actionId: string; inputFieldId: string; connectionId: string | number | null; inputs?: Record; page: number; }): Promise; //# sourceMappingURL=implementations.d.ts.map