UNPKG

@voiceflow/base-types

Version:

Voiceflow base project types

72 lines 2.01 kB
import type { AnyRecord, Nullable } from '@voiceflow/common'; import type { NodeType } from './constants'; import type { BaseStep, IntegrationType, NodeSuccessFailID, SuccessFailStepPorts } from './utils'; export interface APIKeyVal { key: string; val: string; } export interface APIMapping { path: string; var: Nullable<string>; } export declare enum APIBodyType { FORM_DATA = "formData", RAW_INPUT = "rawInput", URL_ENCODED = "urlEncoded" } export declare enum APIMethod { GET = "GET", PUT = "PUT", POST = "POST", PATCH = "PATCH", DELETE = "DELETE" } export declare const lowercaseAPIMethod: <T extends APIMethod>(method: T) => Lowercase<T>; export declare enum APIActionType { GET = "Make a GET Request", PUT = "Make a PUT Request", POST = "Make a POST Request", PATCH = "Make a PATCH Request", DELETE = "Make a DELETE Request" } export interface StepData { url: string; body: APIKeyVal[]; method: APIMethod; content: string; params: APIKeyVal[]; headers: APIKeyVal[]; mappings: APIMapping[]; bodyType: APIBodyType; selectedAction: APIActionType; selectedIntegration: IntegrationType.CUSTOM_API; tls?: { cert?: string; key?: string; }; } export interface StepPorts extends SuccessFailStepPorts<[]> { } export interface NodeData extends NodeSuccessFailID { action_data: { url: string; body: APIKeyVal[]; method: APIMethod; params: APIKeyVal[]; headers: APIKeyVal[]; mapping: APIMapping[]; content: string; bodyInputType: APIBodyType; selected_action: APIActionType; tls?: { cert?: string; key?: string; }; }; selected_action: APIActionType; selected_integration: IntegrationType.CUSTOM_API; } export interface Step<Data extends AnyRecord = StepData> extends BaseStep<Data, StepPorts> { type: NodeType.API; } //# sourceMappingURL=api.d.ts.map