import React, { Component } from 'react';
import { AsyncAPIDocumentInterface } from '@asyncapi/parser';
import { AsyncApiPlugin, ErrorObject, PropsSchema } from '../../types';
import { ConfigInterface } from '../../config';
import { PluginManager } from '../../helpers/pluginManager';
export interface AsyncApiProps {
    schema: PropsSchema;
    config?: Partial<ConfigInterface>;
    plugins?: AsyncApiPlugin[];
    onPluginEvent?: (eventName: string, data: unknown) => void;
    onPluginManagerReady?: (pluginManager: PluginManager) => void;
    error?: ErrorObject;
}
interface AsyncAPIState {
    asyncapi?: AsyncAPIDocumentInterface;
    error?: ErrorObject;
    pm?: PluginManager;
}
declare class AsyncApiComponent extends Component<AsyncApiProps, AsyncAPIState> {
    private readonly registeredPlugins;
    private readonly propsPlugins;
    private readonly pluginEventHandlers;
    private hasMounted;
    state: AsyncAPIState;
    constructor(props: AsyncApiProps);
    componentDidMount(): void;
    componentDidUpdate(prevProps: AsyncApiProps): void;
    componentWillUnmount(): void;
    render(): false | React.JSX.Element | null | undefined;
    private getOrCreateHandler;
    private setupEventListeners;
    private cleanupEventListeners;
    private registerPlugins;
    private updatePlugins;
    private updateState;
}
export default AsyncApiComponent;
//# sourceMappingURL=Standalone.d.ts.map