import { CommonAPIHandler } from "../../zohocrmsdk.js";
import { Fields } from "../../core/com/zoho/crm/api/fields/fields";
/**
 * This class handles module field details.
 */
declare class Utility {
    static apiTypeVsDataType: Map<string, string>;
    static apiTypeVsStructureName: Map<string, string>;
    static newFile: boolean;
    static getModifiedModules: boolean;
    static forceRefresh: boolean;
    static moduleAPIName: string | null;
    static apiSupportedModule: {
        [key: string]: any;
    };
    static assertNotNull(value: any, errorCode: any, errorMessage: any): Promise<void>;
    static fileExistsFlow(moduleAPIName: string | null, recordFieldDetailsPath: string, lastModifiedTime: number | null): Promise<void>;
    static verifyModuleAPIName(moduleName: string): Promise<any>;
    static setHandlerAPIPath(moduleAPIName: string | null, handlerInstance: CommonAPIHandler | null): Promise<void>;
    /**
     * This method to fetch field details of the current module for the current user and store the result in a JSON file.
     * @param {string} moduleAPIName - A String containing the CRM module API name.
     * @param {string} handlerInstance - A String containing CommonAPIHandler Instance.
     */
    static getFields(moduleAPIName: string | null, handlerInstance?: CommonAPIHandler | null): Promise<void>;
    /**
     * This method to fetch field details of the current module for the current user and store the result in a JSON file.
     * @param {string} moduleAPIName - A String containing the CRM module API name.
     * @param {string} handlerInstance - A String containing CommonAPIHandler Instance.
     */
    static getFieldsInfo(moduleAPIName: string | null, handlerInstance?: CommonAPIHandler | null): Promise<void>;
    static modifyFields(recordFieldDetailsPath: string, modifiedTime: number | null): Promise<void>;
    static deleteFields(recordFieldDetailsJson: {
        [key: string]: any;
    }, module: string): Promise<void>;
    static getFileName(): Promise<string>;
    static getRelatedLists(relatedModuleName: string, moduleAPIName: string, commonAPIHandler: CommonAPIHandler): Promise<void>;
    static checkRelatedListExists(relatedModuleName: string, modulerelatedListArray: any[], commonAPIHandler: CommonAPIHandler): Promise<boolean>;
    static getRelatedListDetails(moduleAPIName: string): Promise<any[]>;
    /**
     * This method is to get module field data from Zoho CRM.
     * @param {string} moduleAPIName - A String containing the CRM module API name.
     * @returns {object} An Object representing the Zoho CRM module field details.
     */
    static getFieldsDetails(moduleAPIName: string): Promise<any>;
    static verifyPhotoSupport(moduleAPIName: string): Promise<boolean>;
    static getModuleNames(): Promise<any>;
    static writeModuleMetaData(recordFieldDetailsPath: string, moduleData: any): Promise<void>;
    static getModules(header: number | null): Promise<any>;
    static refreshModules(): Promise<void>;
    static getJSONObject(json: {
        [key: string]: any;
    }, key: string): Promise<any>;
    static setDataType(fieldDetail: {
        [key: string]: any;
    }, field: Fields, moduleAPIName: string): Promise<void>;
    static fillDataType(): Promise<void>;
    getUserName(token: string | null): Promise<string | null>;
    getUserOrgID(token: string | null): Promise<string | null>;
}
export { Utility as Utility, Utility as MasterModel };
