import React from 'react';
import { GraphQLType, TypeOperationMutation } from '../definitions';
import { FormProps } from './Form';
import { useTypeMutationOptions } from '../hooks/useTypeMutation';
import type { useMutation } from '@apollo/client/react';
export type FormTypeProps = {
    type: GraphQLType;
    name?: string;
    onSuccess?: ({ type, operation, result }: {
        type: GraphQLType;
        operation: TypeOperationMutation;
        result: any;
    }) => void;
    onFailed?: ({ type, operation, error }: {
        type: GraphQLType;
        operation: TypeOperationMutation;
        error: unknown;
    }) => void;
    mutationOptions?: Partial<useTypeMutationOptions>;
    mutateOptions?: useMutation.MutationFunctionOptions;
    variables?: {
        [key: string]: any;
    };
    formRef?: React.Ref<any>;
} & Omit<FormProps, 'config'>;
/**
 * Render a form for the given type and perform related mutation
 */
export declare const FormType: React.ForwardRefExoticComponent<{
    type: GraphQLType;
    name?: string;
    onSuccess?: ({ type, operation, result }: {
        type: GraphQLType;
        operation: TypeOperationMutation;
        result: any;
    }) => void;
    onFailed?: ({ type, operation, error }: {
        type: GraphQLType;
        operation: TypeOperationMutation;
        error: unknown;
    }) => void;
    mutationOptions?: Partial<useTypeMutationOptions>;
    mutateOptions?: useMutation.MutationFunctionOptions;
    variables?: {
        [key: string]: any;
    };
    formRef?: React.Ref<any>;
} & Omit<FormProps, "config"> & React.RefAttributes<unknown>>;
//# sourceMappingURL=FormType.d.ts.map