import { FlydeFlow, NodeLibraryData, FlowJob, ConfigurableNodeDefinition, NodeOrConfigurableDefinition, NodeInstance, EditorNodeInstance, ImportableEditorNode, EditorVisualNode } from "@flyde/core"; import { ReportEvent } from "./analytics"; export * from "./analytics"; export type CancelFn = () => void; export interface AiCompletionDto { prompt: string; nodeId: string; insId: string; jsonMode?: boolean; } export interface EditorPorts { prompt: (dto: { defaultValue?: string; text?: string; }) => Promise; confirm: (dto: { text: string; }) => Promise; openFile: (dto: { absPath: string; }) => Promise; readFlow: (dto: { absPath: string; }) => Promise; setFlow: (dto: { absPath: string; flow: FlydeFlow; }) => Promise; onExternalFlowChange: (cb: (data: { flow: { node: EditorVisualNode; }; }) => void) => CancelFn; onRunFlow: (inputs: Record, executionDelay?: number) => Promise; onStopFlow: () => Promise; reportEvent: ReportEvent; generateNodeFromPrompt: (dto: { prompt: string; }) => Promise<{ importableNode: EditorNodeInstance; }>; getLibraryData: () => Promise; onRequestSiblingNodes: (dto: { node: ConfigurableNodeDefinition; }) => Promise[]>; onRequestNodeSource: (dto: { node: NodeOrConfigurableDefinition; }) => Promise; onCreateCustomNode: (dto: { code: string; }) => Promise; createAiCompletion?: (dto: AiCompletionDto) => Promise; resolveInstance: (dto: { instance: NodeInstance; }) => Promise; getAvailableSecrets: () => Promise; addNewSecret: (dto: { key: string; value: string; }) => Promise; } export declare const defaultPorts: EditorPorts; export declare const PortsContext: import("react").Context; export declare const usePrompt: () => (text: string, defaultValue?: string) => Promise; export declare const useConfirm: () => (text: string) => Promise; export type PromptFn = ReturnType; export declare const usePorts: () => EditorPorts; //# sourceMappingURL=ports.d.ts.map