import { AuthObject, Field, Module, RegionKeys, ZohoConfig } from './types';
import { ApiResponse, StatTags } from '../../network/clients/types';
import { BaseSDK } from '../common/base-sdk';
export default class ZOHO extends BaseSDK<AuthObject, ZohoConfig> {
    validateAuthObject(authObject: AuthObject): void;
    protected buildRequestUrl(endpoint: string): string;
    protected getHeaders(): Record<string, string>;
    shouldRetryOnError(response: ApiResponse<unknown>): boolean;
    protected refreshToken(): Promise<void>;
    fetchDynamicFields({ moduleName, systemRequiredOnly, statTags, }: {
        moduleName: string;
        systemRequiredOnly?: boolean;
        statTags?: StatTags;
    }): Promise<ApiResponse<{
        fields: Field[];
    }>>;
    fetchModules({ upsertOnly, statTags, }?: {
        upsertOnly?: boolean;
        statTags?: StatTags;
    }): Promise<ApiResponse<{
        modules: Module[];
    }>>;
    static fetchModuleWiseDuplicateCheckField(moduleName: string): string[];
    static fetchModuleWiseMandatoryFields(moduleName: string): string[];
    static getBaseRecordUrl({ dataCenter, moduleName, }: {
        dataCenter?: RegionKeys;
        moduleName: string;
    }): string;
}
//# sourceMappingURL=zoho.d.ts.map