import { EMembershipProvider, IMemberVerification } from '@roomstay/core';
import { Property } from 'csstype';
import React from 'react';
import { FieldValues } from 'react-hook-form';
import { IconType } from '../../generic/Icon/Icon';
import UserProfile from '../../../models/UserProfile';
export type CommonMemberModalProps = {
    title: string;
    image: string;
    isOpen: boolean;
    imageSize: Property.ObjectFit;
    provider: EMembershipProvider;
};
type ExternalMemberModalProps<T extends FieldValues> = CommonMemberModalProps & {
    fields: ExternalMemberModelField<T>[];
};
type ExternalMemberModelField<T extends FieldValues> = {
    name: keyof T & string;
    icon: IconType;
    label: string;
    profileMapping?: keyof UserProfile;
    isMasked: boolean;
    required?: boolean;
    helperText?: string;
};
declare const ExternalMemberModal: <T extends FieldValues & IMemberVerification>(props: ExternalMemberModalProps<T>) => React.JSX.Element;
export default ExternalMemberModal;
