UNPKG

twilio-ccai-fulfillment-tools

Version:

A collection of tools to assist in the creation of Twilio CCAI Integration cards via fulfillment scripts

31 lines (30 loc) 1.17 kB
import { TTemplates } from './types'; declare enum SYNC_OBJECT_TYPES { DOCUMENT = "document", LIST = "list", MAP = "map" } export interface IStringKeyMap<T> { [key: string]: T; } declare type TDocumentData = TTemplates[]; declare type TListData = TTemplates[]; declare type TMapData = IStringKeyMap<TTemplates>; declare type TDatas = TDocumentData | TListData | TMapData; interface IContext<T extends SYNC_OBJECT_TYPES, U extends TDatas> { name: 'sync-attributes'; lifespan: number; parameters: { sync_attributes: { sync_object_type: T; data: U; }; }; } export declare type TDocumentContext = IContext<SYNC_OBJECT_TYPES.DOCUMENT, TDocumentData>; export declare type TListContext = IContext<SYNC_OBJECT_TYPES.LIST, TListData>; export declare type TMapContext = IContext<SYNC_OBJECT_TYPES.MAP, TMapData>; export declare const createDynamicContextPanelDocument: (templates: TDocumentData) => TDocumentContext; export declare const createDynamicContextPanelList: (templates: TListData) => TListContext; export declare const createDynamicContextPanelMap: (templates: TMapData) => TMapContext; export {};