import { Organization, VerificationService } from '../../../lib/types/types';
import { EmailLookupResponse } from './types';

export declare function useEmailFirstExperiment(programId: string, email: string, segment: string): {
    isEmailUpTop: boolean;
    isEmailValidationLoading: boolean;
    showOtherFields: boolean;
    disableOtherFields: boolean;
    emailLookupResponse: any;
    showEmailLookupResponseMessages: boolean;
    showFormFields: boolean;
    emailOnBlur: () => void;
    emailOnKeyDown: () => void;
    handleResendClick: () => Promise<void>;
    emailFirstCollectInfoStep: "default" | "control" | "message-dimmed-fields";
    isValidEmail: boolean;
    getOrgByDomain: () => Promise<any>;
    enableFormFields: boolean;
    handleOnClickProceedHere?: undefined;
} | {
    isEmailUpTop: true;
    isEmailValidationLoading: boolean;
    emailLookupResponse: EmailLookupResponse;
    showEmailLookupResponseMessages: boolean;
    showFormFields: boolean;
    emailOnBlur: () => Promise<void>;
    emailOnKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
    handleResendClick: () => Promise<void>;
    emailFirstCollectInfoStep: "no-message-dimmed-fields";
    isValidEmail: boolean;
    getOrgByDomain: (verificationService: VerificationService) => Promise<Organization | undefined>;
    enableFormFields: boolean;
    handleOnClickProceedHere: () => Promise<void>;
    showOtherFields?: undefined;
    disableOtherFields?: undefined;
};
