import type { IFormValues, IFormMeta } from './../../components/form/form.types';
export interface IProfileFormProps<OnSuccessArgs = IFormValues> {
    /** Indicated for whether to the form is for creating the profile */
    isCreateProfile?: boolean;
    /** The hooks used in the form */
    hooks: {
        /** The hook to predict the user's location */
        useMaps: () => {
            buildLocation: (input: string) => Promise<{
                id: string;
                en: string;
                code: string;
            }>;
            isValidPlace: (input: string) => boolean;
            predictPlaces: (input: string) => Promise<unknown[]>;
        };
    };
    /** The functions to call */
    functions: {
        /** The function to upload the user's profile image */
        uploadImage?: () => Promise<unknown>;
        /** The function to call on success */
        onSuccess?: (data: OnSuccessArgs) => Promise<void>;
        /** The function to call when the form is cancelled, e.g. the user presses a cancel button */
        onCancel?: () => void;
        /** The function to call on failure */
        onFailure?: () => void;
    };
    /** Meta for the form */
    meta?: IFormMeta;
    /** The Google Tag Manager data */
    gtm?: {
        context?: string;
        event?: string;
    };
    /** Specify custom text for the submit button */
    button?: {
        text: string;
    };
    /** Whether the form is disabled */
    isDisabled?: boolean;
}
declare const ProfileForm: ({ isCreateProfile, hooks, functions, meta, gtm, ...props }: IProfileFormProps) => import("react/jsx-runtime").JSX.Element;
export default ProfileForm;
