import { z } from 'zod'; /** * A regular expression that matches semantic version numbers. * * Taken from https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string */ export declare const semverRegExp: RegExp; /** * A regular expression that matches valid identifiers. * * Used for dashboard and widget instance IDs. * * @see {@link WidgetInstance} */ export declare const idSchema: z.ZodString; /** * A schema that matches valid layout configurations. */ export declare const layoutSchema: z.ZodArray]>, "many">, "many">; /** * Represents the schema for a dashboard. */ export declare const dashboardSchema: z.ZodObject<{ /** * The title of the dashboard. */ title: z.ZodString; /** * The layout of the dashboard. */ layout: z.ZodArray]>, "many">, "many">; }, "strip", z.ZodTypeAny, { title: string; layout: string[][]; }, { title: string; layout: string[][]; }>; /** * Represents the schema for a widget instance. * * @see {@link WidgetInstance} */ export declare const widgetInstanceSchema: z.ZodObject<{ /** * The configuration of the widget. */ configuration: z.ZodRecord>; /** * The type ID of the widget. * * * This is used to determine which widget type to use to render the widget. * * @see {@link Widget.id} */ type: z.ZodString; }, "strip", z.ZodTypeAny, { type: string; configuration: Record; }, { type: string; configuration: Record; }>; /** * The schema for the user data. * * @see {@link UserData} */ export declare const userDataSchema: z.ZodObject<{ /** * The version of the client that created this user data. */ version: z.ZodString; /** * The user's dashboards. */ dashboards: z.ZodRecord]>, "many">, "many">; }, "strip", z.ZodTypeAny, { title: string; layout: string[][]; }, { title: string; layout: string[][]; }>>; /** * The user's widget instances. */ widgetInstances: z.ZodRecord>; /** * The type ID of the widget. * * * This is used to determine which widget type to use to render the widget. * * @see {@link Widget.id} */ type: z.ZodString; }, "strip", z.ZodTypeAny, { type: string; configuration: Record; }, { type: string; configuration: Record; }>>; }, "strip", z.ZodTypeAny, { version: string; dashboards: Record; widgetInstances: Record; }>; }, { version: string; dashboards: Record; widgetInstances: Record; }>; }>; /** * Represents the user data. * * @see {@link userDataSchema} */ export type UserData = z.infer; /** * Represents a dashboard. * * @see {@link dashboardSchema} * * @alpha */ export type Dashboard = z.infer; /** * Represents a widget instance. * * @see {@link widgetInstanceSchema} */ export type WidgetInstance = z.infer; /** * Returns a new and empty dashboard with a unique id. */ export declare function getEmptyDashboard(): readonly [ id: string, dashboard: Dashboard ]; /** * Returns a new blank user data object. * @param version - the current application version */ export declare function getBlankUserData(version: string): UserData;