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;
    var DSQL_USE_LOCAL: boolean | undefined;
}
import get from "./package-shared/actions/get";
import post from "./package-shared/actions/post";
import getSchema from "./package-shared/actions/get-schema";
import uploadImage from "./package-shared/actions/upload-image";
import uploadFile from "./package-shared/actions/upload-file";
import deleteFile from "./package-shared/actions/delete-file";
import createUser from "./package-shared/actions/users/add-user";
import updateUser from "./package-shared/actions/users/update-user";
import loginUser from "./package-shared/actions/users/login-user";
import sendEmailCode from "./package-shared/actions/users/send-email-code";
import logoutUser from "./package-shared/actions/users/logout-user";
import userAuth from "./package-shared/actions/users/user-auth";
import reAuthUser from "./package-shared/actions/users/reauth-user";
import getUser from "./package-shared/actions/users/get-user";
import loginWithGoogle from "./package-shared/actions/users/social/google-auth";
import loginWithGithub from "./package-shared/actions/users/social/github-auth";
import getToken from "./package-shared/actions/users/get-token";
import validateToken from "./package-shared/actions/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";
import validateTempEmailCode from "./package-shared/actions/users/validate-temp-email-code";
import deleteUser from "./package-shared/actions/users/delete-user";
import dsqlCrud from "./package-shared/utils/data-fetching/crud";
import dsqlMethodCrud from "./package-shared/utils/data-fetching/method-crud";
/**
 * Main Export
 */
declare const datasquirel: {
    /**
     * Get Action
     */
    get: typeof get;
    /**
     * Post Action
     */
    post: typeof post;
    media: {
        uploadImage: typeof uploadImage;
        uploadFile: typeof uploadFile;
        deleteFile: typeof deleteFile;
    };
    user: {
        createUser: typeof createUser;
        deleteUser: typeof deleteUser;
        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: typeof validateTempEmailCode;
        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: {
            deserializeQuery: typeof import("./package-shared/utils/deserialize-query").default;
            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;
    };
    /**
     * Run Crud actions `get`, `insert`, `update`, `delete`
     * @note *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN`
     */
    crud: typeof dsqlCrud;
    /**
     * Run Crud based on request Methods `GET`, `POST`, `PUT`, `PATCH`
     * @note *Requires global variables `DSQL_USE_LOCAL` and `DSQL_DB_CONN`
     */
    methodCrud: typeof dsqlMethodCrud;
};
export default datasquirel;