/// import { DekApi } from './api'; export type DekPluginElementProps = Record & { plugin: T; api: DekApi; }; export type DekPluginElementFactoryWithProps = (props: DekPluginElementProps) => JSX.Element; export type DekPluginSchemaItemOption = { value: string; label?: string; }; export type DekPluginSchemaType = 'string' | 'number' | 'boolean' | 'list' | 'color' | 'object' | 'styles' | 'command' | 'items'; export type DekPluginSchemaItem = { type: DekPluginSchemaType; title?: string; default?: any; options?: DekPluginSchemaItemOption[]; min?: number; max?: number; schema?: DekPluginSchema; }; export type DekPluginSchema = Record; export type DekPluginComponentItem = { key: string; description?: string; isCommand?: boolean; element: DekPluginElementFactoryWithProps; schema?: DekPluginSchema; }; export type DekPluginScreenItem = { path: string; description?: string; element: DekPluginElementFactoryWithProps; }; export type DekPluginBoardItem = { key: string; element: DekPluginElementFactoryWithProps; }; export type DekPluginConfig = Record; export type DekPlugin = { load?: (api: DekApi) => Promise; unload?: () => Promise; components?: DekPluginComponentItem[]; screens?: DekPluginScreenItem[]; boards?: DekPluginBoardItem[]; api?: any; }; export declare class DekPluginFactory implements DekPlugin { } export type DekIntegration = DekPlugin;