import { FC, ReactNode } from 'react';
import { IWorkflowManager, INodeManager, IConnectionManager, IViewportManager, IWorkflowEventSystem } from '../../interfaces';
import { WorkflowServiceConfig } from '../../factories/WorkflowServiceFactory';
export interface WorkflowServices {
    workflowManager: IWorkflowManager;
    nodeManager: INodeManager;
    connectionManager: IConnectionManager;
    viewportManager: IViewportManager;
    eventSystem: IWorkflowEventSystem;
}
interface WorkflowProviderProps {
    children: ReactNode;
    serviceConfig?: WorkflowServiceConfig;
}
/**
 * WorkflowProvider component that provides workflow services to child components
 * Uses dependency injection pattern with service factory
 */
export declare const WorkflowProvider: FC<WorkflowProviderProps>;
/**
 * Hook to access workflow services from context
 * @throws Error if used outside WorkflowProvider
 */
export declare const useWorkflowServices: () => WorkflowServices;
/**
 * Hook to access specific workflow service
 */
export declare const useWorkflowManager: () => IWorkflowManager;
export declare const useNodeManager: () => INodeManager;
export declare const useConnectionManager: () => IConnectionManager;
export declare const useViewportManager: () => IViewportManager;
export declare const useWorkflowEventSystem: () => IWorkflowEventSystem;
export {};
//# sourceMappingURL=WorkflowProvider.d.ts.map