import type { ActionRequestButton, GeneralRequestButton } from '../request/index.js'; import type { SlateTextValue } from '../text/index.js'; import type { Nullable } from '@voiceflow/common'; import type { NodeType } from './constants.js'; import type { BaseNode, BaseNoMatchNodeData, BaseNoMatchStepData, BaseNoReplyNodeData, BaseNoReplyStepData, BaseStep, BaseStepPorts, BuiltInNextPort, BuiltInNoMatchNoReplyPorts, DataID, NodeNextID } from './utils/index.js'; export declare enum CarouselLayout { CAROUSEL = "Carousel", LIST = "List" } export interface CarouselButton extends DataID { name: string; intent?: Nullable; } export interface CarouselCard extends DataID { imageUrl: string | null; title: string; description: SlateTextValue; buttons: B[]; } export interface StepBuiltInPorts extends BuiltInNextPort, BuiltInNoMatchNoReplyPorts { } export interface StepPorts extends BaseStepPorts { } export interface StepData extends BaseNoMatchStepData, BaseNoReplyStepData { layout: CarouselLayout; cards: CarouselCard[]; } export interface Step extends BaseStep { type: NodeType.CAROUSEL; } export type NodeCarouselCard = CarouselCard; export interface Node extends BaseNode, NodeNextID, BaseNoReplyNodeData, BaseNoMatchNodeData { type: NodeType.CAROUSEL; cards: NodeCarouselCard[]; layout: CarouselLayout; isBlocking: boolean; platform?: string; } //# sourceMappingURL=carousel.d.ts.map