import { ContextDependentConfig } from "./shared-controls"; export interface RichExprEditorCore { type: "exprEditor"; data?: Record | ContextDependentConfig>; isolateEnv?: boolean; } export interface DataSourceCore { type: "dataSource"; dataSource: "airtable" | "cms"; } export type DataPickerValueType = string | number | (string | number)[]; export interface RichDataPickerCore { type: "dataSelector"; data?: Record | ContextDependentConfig>; alwaysShowValuePathAsLabel?: boolean; isolateEnv?: boolean; } export type GraphQLValue = { query: string; variables?: Record; }; export interface GraphQLCore { type: "code"; lang: "graphql"; endpoint: string | ContextDependentConfig; method?: string | ContextDependentConfig; headers?: object | ContextDependentConfig; } /** * Dynamic prop/param type that returns different control types based on context */ export interface DynamicCore { type: "dynamic"; /** * Function that takes the context and returns a control type */ control: ContextDependentConfig; }