/// <reference types="@types/express-session" />
/// <reference types="@tensei/common/typings/plugins" />
/// <reference types="@tensei/common/typings/common" />
import { CookieOptions } from 'express-session';
import { DashboardContract } from '@tensei/common';
declare class CmsPlugin {
    private scripts;
    private config;
    private router;
    cookies(cookieOptions: CookieOptions): this;
    private styles;
    path(path: string): this;
    private getApiPath;
    private resources;
    generateRandomToken(length?: number): string;
    private routes;
    private loginPassport;
    private registerPassport;
    private permissionResource;
    private tokenResource;
    private roleResource;
    private userResource;
    sessionMikroOrmOptions: {
        entityName: string;
        tableName: string;
        collection: string;
    };
    private authorizeResolver;
    dashboards(dashboards: DashboardContract[]): this;
    plugin(): import("@tensei/common").PluginContract;
}
export declare const cms: () => CmsPlugin;
export {};
