import type { Nullable } from '@voiceflow/common'; import type { BaseCommand } from './base.js'; import type { BaseEvent } from './event.js'; export declare enum CommandType { JUMP = "jump", PUSH = "push" } export interface TypedBaseCommand extends BaseCommand { type: CommandType; } export interface WithEventMatching { event: Event; } export interface WithSiftOnMatching { on: Record; } export interface WithJump extends TypedBaseCommand { type: CommandType.JUMP; nextID: Nullable; diagramID?: Nullable; platform?: string; } export interface WithPush extends TypedBaseCommand { type: CommandType.PUSH; diagramID: Nullable; platform?: string; } export interface JumpEventMatchedCommand extends WithJump, WithEventMatching { } export interface PushEventMatchedCommand extends WithPush, WithEventMatching { } export interface JumpOnMatchedCommand extends WithJump, WithSiftOnMatching { } export interface PushOnMatchedCommand extends WithPush, WithSiftOnMatching { } export type EventMatchedCommand = JumpEventMatchedCommand | PushEventMatchedCommand; export type OnMatchedCommand = JumpOnMatchedCommand | PushOnMatchedCommand; export type AnyCommand = EventMatchedCommand | OnMatchedCommand; export declare const isWithJump: (command: BaseCommand) => command is WithJump; export declare const isWithPush: (command: BaseCommand) => command is WithPush; export declare const isWithEventMatching: (command: BaseCommand) => command is EventMatchedCommand; export declare const isWithOnMatching: (command: BaseCommand) => command is OnMatchedCommand; export declare const isJumpEventMatchedCommand: (command: BaseCommand) => command is JumpEventMatchedCommand; export declare const isPushEventMatchedCommand: (command: BaseCommand) => command is JumpEventMatchedCommand; export declare const isJumpOnMatchedCommand: (command: BaseCommand) => command is JumpEventMatchedCommand; export declare const isPushOnMatchedCommand: (command: BaseCommand) => command is JumpEventMatchedCommand; //# sourceMappingURL=command.d.ts.map