import {
    load_ae_obj_id__activity_log,
    load_ae_obj_li__activity_log,
    create_ae_obj__activity_log,
    update_ae_obj__activity_log
} from '$lib/ae_core/ae_core__activity_log';

import {
    load_ae_obj_id__person,
    load_ae_obj_li__person,
    create_ae_obj__person,
    delete_ae_obj_id__person,
    update_ae_obj__person
} from '$lib/ae_core/ae_core__person';

import {
    auth_ae_obj__username_password,
    auth_ae_obj__user_id_user_auth_key,
    send_email_auth_ae_obj__user_id,
    qry_ae_obj_li__user_email,
    auth_ae_obj__user_id_change_password
} from '$lib/ae_core/ae_core__user';

import {
    generate_qr_code,
    js_generate_qr_code
} from '$lib/ae_core/core__qr_code';

import { check_hosted_file_obj_w_hash } from '$lib/ae_core/core__check_hosted_file_obj_w_hash';

import { load_ae_obj_li__time_zone } from '$lib/ae_core/core__time_zones';

import { load_ae_obj_li__country } from '$lib/ae_core/core__countries';

import { load_ae_obj_li__country_subdivision } from '$lib/ae_core/core__country_subdivisions';

import {
    load_ae_obj_id__hosted_file,
    load_ae_obj_li__hosted_file,
    delete_ae_obj_id__hosted_file
} from '$lib/ae_core/core__hosted_files';

// This has more generic general purpose functions that can eventually replace the custom ones per object type.
import { db_save_ae_obj_li__ae_obj } from '$lib/ae_core/core__idb_dexie';

import { add_url_params, clean_headers } from '$lib/ae_core/core__api_helpers';

import { download_export__obj_type } from '$lib/ae_core/core__export';

import { clear_idb, clear_all_storage } from '$lib/ae_core/core__browser_reset';
export type { BrowserResetLogFn } from '$lib/ae_core/core__browser_reset';


const export_obj = {
    check_hosted_file_obj_w_hash: check_hosted_file_obj_w_hash,

    load_ae_obj_li__time_zone: load_ae_obj_li__time_zone,

    load_ae_obj_li__country: load_ae_obj_li__country,
    load_ae_obj_li__country_subdivision: load_ae_obj_li__country_subdivision,

    load_ae_obj_id__hosted_file: load_ae_obj_id__hosted_file,
    load_ae_obj_li__hosted_file: load_ae_obj_li__hosted_file,
    delete_ae_obj_id__hosted_file: delete_ae_obj_id__hosted_file,

    db_save_ae_obj_li__ae_obj: db_save_ae_obj_li__ae_obj,

    add_url_params: add_url_params,
    clean_headers: clean_headers,

    load_ae_obj_id__activity_log: load_ae_obj_id__activity_log,
    load_ae_obj_li__activity_log: load_ae_obj_li__activity_log,
    create_ae_obj__activity_log: create_ae_obj__activity_log,
    update_ae_obj__activity_log: update_ae_obj__activity_log,

    load_ae_obj_id__person: load_ae_obj_id__person,
    load_ae_obj_li__person: load_ae_obj_li__person,
    create_ae_obj__person: create_ae_obj__person,
    delete_ae_obj_id__person: delete_ae_obj_id__person,
    update_ae_obj__person: update_ae_obj__person,

    auth_ae_obj__username_password: auth_ae_obj__username_password,
    auth_ae_obj__user_id_user_auth_key: auth_ae_obj__user_id_user_auth_key,
    send_email_auth_ae_obj__user_id: send_email_auth_ae_obj__user_id,
    qry_ae_obj_li__user_email: qry_ae_obj_li__user_email,
    auth_ae_obj__user_id_change_password: auth_ae_obj__user_id_change_password,

    download_export__obj_type: download_export__obj_type,
    generate_qr_code: generate_qr_code,
    js_generate_qr_code: js_generate_qr_code,

    clear_idb: clear_idb,
    clear_all_storage: clear_all_storage,
};
export const core_func = export_obj;
