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
TypeScript
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 {};