import { DashboardPageConfig } from './dashboardPage.model'; import { File } from './file.model'; import { TablePageConfig } from './tablePage.model'; export declare enum PageType { table = "table", custom = "custom" } interface BasePage { version: string; key: string; title?: string; icon?: string; hideInSidebar?: boolean; allowedRoles?: string[]; /** * @deprecated Legacy - to be removed in v4. Use `allowedRoles` instead. */ allowedRoleIds?: string[]; } interface TablePage extends BasePage { type: 'table'; config: TablePageConfig; } interface DashboardPage extends BasePage { type: 'dashboard'; config: DashboardPageConfig; } interface CustomPage extends BasePage { type: 'custom'; key: string; title: string; } export type Page = TablePage | DashboardPage | CustomPage; export interface PublicTablePage extends Pick { config: TablePage['config']; } export interface PublicDashboardPage extends Pick { config: DashboardPage['config']; } export interface PublicCustomPage extends Pick { } export type PublicPage = PublicTablePage | PublicDashboardPage | PublicCustomPage; export interface PageFileStructure { pageKey: string; dirPath: string; files?: File[]; } export {};