import * as React from 'react';
import { WrappedComponentProps } from 'react-intl';
import { Entity as FTMEntity, Schema as FTMSchema, Values } 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: FTMSchema;
    suggestions: FTMEntity[];
}
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: FTMSchema): void;
    fetchSuggestions(query: string, schemata: Array<FTMSchema>): Promise<void>;
    getSchema(): FTMSchema;
    onSubmit(values: Values): Promise<void>;
    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 {};
