import mongoose from "mongoose";
import type { HiddenBodyKeys } from "../interfaces";
import type { RequestMethodType } from "../interfaces/SystemTypes";
import type { IBase } from "./Base";
export interface IRoute extends IBase {
    name?: string;
    path?: string;
    methods?: RequestMethodType[];
}
export type RouteDto = Omit<IRoute, keyof HiddenBodyKeys>;
export declare const routeSchema: mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
    collection: string;
    timestamps: true;
}, {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}>> & mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}> & {
    _id: mongoose.Types.ObjectId;
}>;
export declare const RouteModel: mongoose.Model<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}, {}, {}, {}, mongoose.Document<unknown, {}, {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}> & {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
} & {
    _id: mongoose.Types.ObjectId;
}, mongoose.Schema<any, mongoose.Model<any, any, any, any, any, any>, {}, {}, {}, {}, {
    collection: string;
    timestamps: true;
}, {
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}, mongoose.Document<unknown, {}, mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}>> & mongoose.FlatRecord<{
    createdAt: NativeDate;
    updatedAt: NativeDate;
} & {
    methods: ("GET" | "DELETE" | "POST" | "PATCH")[];
    public: boolean;
    active: boolean;
    createdAt: Date;
    updatedAt: Date;
    workspace?: mongoose.Types.ObjectId;
    workspaceId?: mongoose.Types.ObjectId;
    name?: string;
    slug?: string;
    path?: string;
    project?: mongoose.Types.ObjectId;
    projectId?: mongoose.Types.ObjectId;
    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;
}> & {
    _id: mongoose.Types.ObjectId;
}>>;
//# sourceMappingURL=Route.d.ts.map