import { ReactElement } from 'react'; import { FlowElement } from 'react-flow-renderer'; import { AsyncAPIDocument } from '@asyncapi/parser'; export declare type InternalProps = { internal?: { addApplicationCallback: (node: ApplicationNodeData) => void; addIncomingCallback: (node: IncomingNodeData) => void; addOutgoingCallback: (node: OutgoingNodeData) => void; }; }; export interface ApplicationViewData { asyncapi?: AsyncapiApplicationData; application?: ApplicationNodeData; incomingOperations?: Array; outgoingOperations?: Array; } export interface ApplicationFocusViewData { asyncapi?: AsyncapiApplicationData; application?: ApplicationNodeData; external?: Array; incomingOperations?: Array; outgoingOperations?: Array; } export interface SystemViewData { applications: Array; } export interface ApplicationLicenseData { name: string; url: string; } export interface ApplicationServerData { name: string; url: string; description: string; protocol: string; protocolVersion?: string; } export interface AsyncapiApplicationData { document: AsyncAPIDocument; topExtended?: ReactElement; } export interface ApplicationNodeData { id: string; defaultContentType?: string; description?: string; title: string; version: string; license?: ApplicationLicenseData; externalDocs?: string; servers?: ApplicationServerData[]; hideHandlers?: boolean; hideInHandler?: boolean; hideOutHandler?: boolean; topExtended?: ReactElement; } export interface ExternalApplicationNodeData { id: string; defaultContentType?: string; description?: string; title: string; version: string; license?: ApplicationLicenseData; externalDocs?: string; servers?: ApplicationServerData[]; side?: 'outgoing' | 'incoming'; topExtended?: ReactElement; } export interface ExternalApplicationNodeProps { data: ExternalApplicationNodeData; } export interface ApplicationNodeProps { data: ApplicationNodeData; } export interface MessageData { title: string; } export interface IncomingNodeData { id: string; description?: string; channel: string; messages?: MessageData[]; forApplication?: string; } export interface IncomingNodeProps { data: IncomingNodeData; } export interface OutgoingNodeData { id: string; description?: string; channel: string; messages: MessageData[]; forApplication?: string; } export interface OutgoingNodeProps { data: OutgoingNodeData; } export interface LayoutProps { elementsToRender: FlowElement[]; } export declare type EdgeType = 'smoothstep' | 'step' | 'straight' | 'floating' | 'default' | 'simplebezier' | 'animated'; //# sourceMappingURL=types.d.ts.map