import { ServerlessMysql } from "serverless-mysql";
declare global {
    var DSQL_DB_CONN: ServerlessMysql | undefined;
    var DSQL_READ_ONLY_DB_CONN: ServerlessMysql | undefined;
    var DSQL_FULL_ACCESS_DB_CONN: ServerlessMysql | undefined;
}
/**
 * Imports
 */
import get from "./utils/get";
import post from "./utils/post";
import getSchema from "./utils/get-schema";
import uploadImage from "./utils/upload-image";
import uploadFile from "./utils/upload-file";
import deleteFile from "./utils/delete-file";
import createUser from "./users/add-user";
import updateUser from "./users/update-user";
import loginUser from "./users/login-user";
import sendEmailCode from "./users/send-email-code";
import logoutUser from "./users/logout-user";
import userAuth from "./users/user-auth";
import reAuthUser from "./users/reauth-user";
import getUser from "./users/get-user";
import loginWithGoogle from "./users/social/google-auth";
import loginWithGithub from "./users/social/github-auth";
import getToken from "./users/get-token";
import validateToken from "./users/validate-token";
import sqlGenerator from "./package-shared/functions/dsql/sql/sql-generator";
import sqlInsertGenerator from "./package-shared/functions/dsql/sql/sql-insert-generator";
import sqlDeleteGenerator from "./package-shared/functions/dsql/sql/sql-delete-generator";
import trimSql from "./package-shared/utils/trim-sql";
import parseCookies from "./package-shared/utils/backend/parseCookies";
import httpRequest from "./package-shared/functions/backend/httpRequest";
import connDbHandler from "./package-shared/utils/db/conn-db-handler";
import encrypt from "./package-shared/functions/dsql/encrypt";
import decrypt from "./package-shared/functions/dsql/decrypt";
import hashPassword from "./package-shared/functions/dsql/hashPassword";
/**
 * Main Export
 */
declare const datasquirel: {
    get: typeof get;
    post: typeof post;
    media: {
        uploadImage: typeof uploadImage;
        uploadFile: typeof uploadFile;
        deleteFile: typeof deleteFile;
    };
    user: {
        createUser: typeof createUser;
        deleteUser: any;
        loginUser: typeof loginUser;
        sendEmailCode: typeof sendEmailCode;
        logoutUser: typeof logoutUser;
        userAuth: typeof userAuth;
        reAuthUser: typeof reAuthUser;
        updateUser: typeof updateUser;
        getUser: typeof getUser;
        getToken: typeof getToken;
        validateToken: typeof validateToken;
        validateTempEmailCode: any;
        social: {
            loginWithGoogle: typeof loginWithGoogle;
            loginWithGithub: typeof loginWithGithub;
        };
    };
    getSchema: typeof getSchema;
    client: {
        media: {
            imageInputToBase64: typeof import("./client/media/imageInputToBase64").default;
            imageInputFileToBase64: typeof import("./client/media/imageInputFileToBase64").default;
            inputFileToBase64: typeof import("./client/media/inputFileToBase64").default;
        };
        auth: {
            google: {
                getAccessToken: typeof import("./client/auth/google/getAccessToken").default;
            };
            github: {
                getAccessToken: typeof import("./client/auth/github/getAccessToken").default;
            };
            logout: typeof import("./client/auth/logout").default;
            postLogin: typeof import("./client/auth/post-login").default;
        };
        fetch: {
            fetchApi: typeof import("./client/fetch").default;
            clientFetch: typeof import("./client/fetch").default;
        };
        utils: {
            serializeQuery: typeof import("./package-shared/utils/serialize-query").default;
            serializeCookies: typeof import("./package-shared/utils/serialize-cookies").default;
            EJSON: {
                parse: (string: string | null | number, reviver?: (this: any, key: string, value: any) => any) => {
                    [s: string]: any;
                } | {
                    [s: string]: any;
                }[] | undefined;
                stringify: (value: any, replacer?: ((this: any, key: string, value: any) => any) | null, space?: string | number) => string | undefined;
            };
            numberfy: typeof import("./package-shared/utils/numberfy").default;
            slugify: typeof import("./package-shared/utils/slugify").default;
        };
    };
    sql: {
        sqlGenerator: typeof sqlGenerator;
        sqlInsertGenerator: typeof sqlInsertGenerator;
        sqlDeleteGenerator: typeof sqlDeleteGenerator;
        trim: typeof trimSql;
    };
    utils: {
        crypto: {
            encrypt: typeof encrypt;
            decrypt: typeof decrypt;
            hashPassword: typeof hashPassword;
        };
        parseCookies: typeof parseCookies;
        httpRequest: typeof httpRequest;
        connDbHandler: typeof connDbHandler;
    };
};
export default datasquirel;