UNPKG

@voiceflow/base-types

Version:

Voiceflow base project types

36 lines 1.17 kB
import type { AnyRecord, Nullable } from '@voiceflow/common'; import type { NodeType } from './constants.js'; import type { BaseEvent, BaseNode, BasePort, BasePortList, BaseStep, BaseStepPorts, NodeID } from './utils/index.js'; interface StepData<Payload = AnyRecord> { stop?: boolean; payload: Payload; defaultPath?: number; } export interface StepPort<Event = BaseEvent> extends BasePort { data: { event?: Event; }; } interface StepPorts<Event> extends BaseStepPorts<Record<string, StepPort<Event>>, StepPort<Event>[]> { } export interface Step<Payload = AnyRecord, Event = BaseEvent> extends BaseStep<StepData<Payload>, StepPorts<Event>, BasePortList<StepPort<Event>>> { type: NodeType.CHANNEL_ACTION; } interface NodePath<Event = BaseEvent> { label?: string; event?: Event; nextID: Nullable<NodeID>; } export interface Node<Event = BaseEvent> extends BaseNode { type: NodeType.CHANNEL_ACTION; data: { name: string; payload: AnyRecord; }; stop: boolean; defaultPath?: number; paths: Array<NodePath<Event>>; platform?: string; } export {}; //# sourceMappingURL=channelAction.d.ts.map