import * as React from 'react';
import { WrappedComponentProps } from 'react-intl';
import { IItemListRendererProps } from '@blueprintjs/select';
import { Entity, Schema } from '@alephdata/followthemoney';
import { EntityManager } from '../EntityManager';
import { GraphContext, IGraphContext } from '../GraphContext';
import './VertexCreateDialog.scss';
interface IVertexCreateDialogProps extends WrappedComponentProps {
    isOpen: boolean;
    toggleDialog: () => any;
    vertexCreateOptions?: any;
    entityManager: EntityManager;
}
interface IVertexCreateDialogState {
    query: string;
    isProcessing: boolean;
    isFetchingSuggestions: boolean;
    schema: Schema;
    suggestions: Entity[];
}
export declare class VertexCreateDialogBase extends React.Component<IVertexCreateDialogProps, IVertexCreateDialogState> {
    static contextType: React.Context<IGraphContext | undefined>;
    context: React.ContextType<typeof GraphContext>;
    state: IVertexCreateDialogState;
    constructor(props: any);
    componentDidUpdate(prevProps: IVertexCreateDialogProps): void;
    onQueryChange(query: string): void;
    onSchemaSelect(schema: Schema): void;
    fetchSuggestions({ query, schema }: {
        query: string;
        schema: Schema;
    }): Promise<void>;
    getSchema(): Schema;
    onSubmit(entityData: string | Entity): Promise<void>;
    itemListRenderer(rendererProps: IItemListRendererProps<Entity>): JSX.Element | undefined;
    render(): JSX.Element;
}
export declare const VertexCreateDialog: React.ForwardRefExoticComponent<Pick<IVertexCreateDialogProps, "isOpen" | "toggleDialog" | "vertexCreateOptions" | "entityManager"> & {
    forwardedRef?: ((instance: any) => void) | React.RefObject<any> | null | undefined;
} & React.RefAttributes<any>> & {
    WrappedComponent: React.ComponentType<IVertexCreateDialogProps>;
};
export {};
