import { InMemoryCache } from "../cache/cache.operation";
import Converter from "../Helper/Converter.helper";
import { CryptoHelper } from "../Helper/Crypto.helper";
import ResponseHelper from "../Helper/response.helper";
import { SchemaTypes } from "../Schema/DataTypes.models";
import schemaValidate from "../Schema/validator.models";
import Aggregation from "../Services/Aggregation/Aggregation.Operation";
import Collection from "../Services/Collection/collection.operation";
import Database from "../Services/Database/database.operation";
import { AxioDB } from "../Services/Indexation.operation";
import FileManager from "../engine/Filesystem/FileManager";
import FolderManager from "../engine/Filesystem/FolderManager";
declare const InstanceTypes: {
    Collection: typeof Collection;
    Database: typeof Database;
    Aggregation: typeof Aggregation;
    FileManager: typeof FileManager;
    FolderManager: typeof FolderManager;
    Converter: typeof Converter;
    CryptoHelper: typeof CryptoHelper;
    ResponseHelper: typeof ResponseHelper;
    InMemoryCache: typeof InMemoryCache;
};
export { SchemaTypes, schemaValidate, AxioDB, InstanceTypes };
declare const _default: {
    SchemaTypes: {
        string: <TSchema = string>() => import("joi").StringSchema<TSchema>;
        number: <TSchema = number>() => import("joi").NumberSchema<TSchema>;
        boolean: <TSchema = boolean>() => import("joi").BooleanSchema<TSchema>;
        object: <TSchema = any, isStrict = false, T = TSchema>(schema?: import("joi").SchemaMap<T, isStrict>) => import("joi").ObjectSchema<TSchema>;
        array: <TSchema = any[]>() => import("joi").ArraySchema<TSchema>;
        date: <TSchema = Date>() => import("joi").DateSchema<TSchema>;
        binary: <TSchema = Buffer<ArrayBufferLike>>() => import("joi").BinarySchema<TSchema>;
        func: <TSchema = Function>() => import("joi").FunctionSchema<TSchema>;
        ref: (key: string, options?: import("joi").ReferenceOptions) => import("joi").Reference;
        any: <TSchema = any>() => import("joi").AnySchema<TSchema>;
        alphanum: () => import("joi").StringSchema<string>;
        email: (options?: import("joi").EmailOptions) => import("joi").StringSchema<string>;
        guid: (options?: import("joi").GuidOptions) => import("joi").StringSchema<string>;
        ip: (options?: import("joi").IpOptions) => import("joi").StringSchema<string>;
        uri: (options?: import("joi").UriOptions) => import("joi").StringSchema<string>;
        max: (limit: number | import("joi").Reference) => import("joi").NumberSchema<number>;
        min: (limit: number | import("joi").Reference) => import("joi").NumberSchema<number>;
        length: (limit: number | import("joi").Reference) => import("joi").StringSchema<string>;
        pattern: (regex: RegExp) => import("joi").StringSchema<string>;
        required: () => import("joi").Schema<any>;
        optional: () => import("joi").Schema<any>;
        allow: (values: any[]) => import("joi").Schema<any>;
        valid: (values: any[]) => import("joi").Schema<any>;
    };
    schemaValidate: typeof schemaValidate;
    AxioDB: typeof AxioDB;
    InstanceTypes: {
        Collection: typeof Collection;
        Database: typeof Database;
        Aggregation: typeof Aggregation;
        FileManager: typeof FileManager;
        FolderManager: typeof FolderManager;
        Converter: typeof Converter;
        CryptoHelper: typeof CryptoHelper;
        ResponseHelper: typeof ResponseHelper;
        InMemoryCache: typeof InMemoryCache;
    };
};
export default _default;
