import { FinsembleWindowData } from "../window/types"; export declare type GroupData = { windowNames: string[]; isMovable: boolean; isAlwaysOnTop: boolean; topRightWindow: string; isARectangle: boolean; ungroupedAlwaysOnTopState: Record; }; /** * This interface represents base data that all * workspace-type objects have in common and extend. */ export declare type WorkspaceBase = { /** * The version of the API schema. Used to maintain * backward compatibility. */ version: "1.0.0"; /** A string uniquely identifying the workspace from other workspaces. * * NOTE: Does not differentiate between instances of the same workspace. * For that, see the `guid` property of the `ActiveWorkspace` type. */ name: string; /** * Distinguishes normal workspaces from templates. Templates are workspaces * that are distributed by Finsemble administrators to users and are not * modified, much like a template document in Microsoft Office. * * The different behavior between workspaces and templates isn't yet implemented, * but will be soon. */ type: "workspace" | "template"; groups: Record; }; /** The complete data representation of a Workspace. */ export declare type Workspace = WorkspaceBase & { /** * An array of unique string identifiers for the windows that belong * to this workspace. */ windows: string[]; }; export declare type WorkspaceImport = WorkspaceBase & { windows: string[]; windowData?: FinsembleWindowData[]; componentStates?: Record; /** * If set to true then ths workspace will be the default. If no workspaces have this flag then the first workspace alphabetically will be the default. */ default?: boolean; }; /** * The data representation of the active workspace. * KW: Currently identical to the Workspace type after removal of the guid property */ export declare type ActiveWorkspace = Workspace; export declare type WorkspaceEventName = "load-requested" | "load-complete" | "load-failed" | "load-interrupted" | "close-requested" | "close-complete" | "close-canceled" | "close-failed" | "save-requested" | "save-complete" | "save-failed"; //# sourceMappingURL=types.d.ts.map