import mongoose from "mongoose";
import type { HiddenBodyKeys } from "../interfaces";
import { type CloudDatabaseType } from "../interfaces/SystemTypes";
import type { IBase } from "./Base";
import type { ICronjob } from "./Cronjob";
export interface ICloudDatabase extends IBase {
    name?: string;
    verified?: boolean;
    type?: CloudDatabaseType;
    provider?: string;
    user?: string;
    pass?: string;
    host?: string;
    port?: number;
    authDb?: string;
    url?: string;
    /**
     * Cronjob ID
     */
    autoBackup?: string | ICronjob;
}
export type CloudDatabaseDto = Omit<ICloudDatabase, keyof HiddenBodyKeys>;
export declare const cloudDatabaseSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
    collection: string;
    timestamps: true;
}, {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}>> & mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}> & {
    _id: mongoose.Types.ObjectId;
}>;
export declare const CloudDatabaseModel: mongoose.Model<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}, {}, {}, {}, mongoose.Document<unknown, {}, {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}> & {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
} & {
    _id: mongoose.Types.ObjectId;
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
    collection: string;
    timestamps: true;
}, {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}>> & mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    user?: string;
    pass?: string;
    name?: string;
    slug?: string;
    url?: string;
    host?: string;
    port?: number;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    provider?: string;
    type?: "mongodb" | "mysql" | "mariadb" | "postgresql" | "sqlserver" | "sqlite" | "redis" | "dynamodb";
    owner?: mongoose.Types.ObjectId;
    metadata?: any;
    ownerSlug?: string;
    ownerId?: mongoose.Types.ObjectId;
    workspaceSlug?: string;
    updatedBy?: mongoose.Types.ObjectId;
    updatedById?: mongoose.Types.ObjectId;
    deletedBy?: mongoose.Types.ObjectId;
    deletedById?: mongoose.Types.ObjectId;
    deletedAt?: Date;
    migratedAt?: Date;
    verified?: boolean;
    authDb?: string;
    autoBackup?: mongoose.Types.ObjectId;
}> & {
    _id: mongoose.Types.ObjectId;
}>>;
//# sourceMappingURL=CloudDatabase.d.ts.map