import { BaseSDKConfig } from '../common/types';
export type dataType = 'string' | 'integer' | 'float' | 'datetime' | 'boolean' | 'object' | 'array';
export declare const CUSTOM_GENERATED_TYPE = "custom";
export declare const SYSTEM_DEFINED_DUPLICATE_CHECK_FIELD_FOR_CUSTOM_MODULE = "Name";
export interface Field {
    associated_module?: any;
    webhook?: boolean;
    operation_type?: {
        web_update?: boolean;
        api_create?: boolean;
        web_create?: boolean;
        api_update?: boolean;
    };
    colour_code_enabled_by_system?: boolean;
    field_label?: string;
    tooltip?: any;
    type?: string;
    field_read_only?: boolean;
    customizable_properties?: string[];
    display_label?: string;
    read_only?: boolean;
    association_details?: any;
    businesscard_supported?: boolean;
    multi_module_lookup?: any;
    id?: string;
    created_time?: any;
    filterable?: boolean;
    visible?: boolean;
    profiles?: {
        permission_type?: string;
        name?: string;
        id?: string;
    }[];
    view_type?: {
        view?: boolean;
        edit?: boolean;
        quick_create?: boolean;
        create?: boolean;
    };
    separator?: boolean;
    searchable?: boolean;
    external?: any;
    api_name?: string;
    unique?: any;
    enable_colour_code?: boolean;
    pick_list_values?: any[];
    system_mandatory?: boolean;
    virtual_field?: boolean;
    json_type: dataType;
    crypt?: any;
    created_source?: string;
    display_type?: number;
    ui_type?: number;
    modified_time?: any;
    email_parser?: {
        fields_update_supported?: boolean;
        record_operations_supported?: boolean;
    };
    currency?: any;
    custom_field?: boolean;
    lookup?: any;
    convert_mapping?: {
        Contacts?: any;
        Deals?: any;
        Accounts?: any;
    };
    rollup_summary?: any;
    length?: number;
    display_field?: boolean;
    pick_list_values_sorted_lexically?: boolean;
    sortable?: boolean;
    global_picklist?: any;
    history_tracking?: any;
    data_type?: string;
    formula?: any;
    decimal_place?: any;
    mass_update?: boolean;
    multiselectlookup?: any;
    auto_number?: any;
    moduleCheckDuplicateField?: string;
}
interface Profile {
    name?: string;
    id?: string;
}
export interface Module {
    has_more_profiles?: boolean;
    access_type?: string;
    private_profile?: any;
    global_search_supported?: boolean;
    deletable?: boolean;
    description?: string;
    creatable?: boolean;
    recycle_bin_on_delete?: boolean;
    modified_time?: any;
    plural_label?: string;
    presence_sub_menu?: boolean;
    actual_plural_label?: string;
    lookupable?: boolean;
    id?: string;
    isBlueprintSupported?: boolean;
    visibility?: number;
    convertable?: boolean;
    sub_menu_available?: boolean;
    editable?: boolean;
    actual_singular_label?: string;
    profiles?: Profile[];
    show_as_tab?: boolean;
    web_link?: any;
    sequence_number?: number;
    singular_label?: string;
    viewable?: boolean;
    api_supported?: boolean;
    api_name?: string;
    quick_create?: boolean;
    modified_by?: any;
    generated_type?: string;
    feeds_required?: boolean;
    public_fields_configured?: boolean;
    arguments?: any[];
    module_name?: string;
    profile_count?: number;
    business_card_field_limit?: number;
    parent_module?: any;
    status?: string;
}
export type RegionKeys = 'US' | 'AU' | 'EU' | 'IN' | 'CN' | 'JP' | 'CA';
export declare const DATA_CENTRE_BASE_ENDPOINTS_MAP: Record<RegionKeys, string>;
export declare const getRecordPath: (moduleName: string) => string;
export interface AuthObject {
    accessToken: string;
    dataCenter: RegionKeys;
    refreshAccesTokenFunc: () => Promise<string>;
}
export interface ZohoConfig extends BaseSDKConfig {
}
export declare const MODULE_WISE_DUPLICATE_CHECK_FIELD: Record<string, string>;
export declare const UPSERT_MODULES: string[];
export declare const MODULE_MANDATORY_FIELD_CONFIG: Record<string, string[]>;
export {};
//# sourceMappingURL=types.d.ts.map