import { ViewManagerModel } from './ViewManagerModel'; import { JsonBlob } from '@xh/hoist/svc'; import { PlainObject } from '@xh/hoist/core'; /** * Metadata describing {@link View} managed by {@link ViewManagerModel}. */ export declare class ViewInfo { /** Unique Id */ readonly token: string; /** App-defined type discriminator. */ readonly type: string; /** User-supplied descriptive name. */ readonly name: string; /** Description of the view. */ readonly description: string; /** User owning this view. Null if the view is global.*/ readonly owner: string; /** * True if the owner (which can be the current user) has made this view accessible to all other * users. Note always `false` for global views, to better distinguish the two sharing models. */ readonly isShared: boolean; /** True if this view is global and visible to all users. */ readonly isGlobal: boolean; /** * Optional group name used for bucketing this view in display. Slashes within the name * delimit nested sub-groups - see `VIEW_GROUP_DELIMITER`. */ readonly group: string; /** * Original meta-data on views associated JsonBlob. * Not typically used by applications. * @internal */ readonly meta: PlainObject; dateCreated: number; lastUpdated: number; lastUpdatedBy: string; readonly model: ViewManagerModel; constructor(blob: JsonBlob, model: ViewManagerModel); get isOwned(): boolean; get isEditable(): boolean; get isCurrentView(): boolean; /** * True if this view should appear on the users easy access menu. * * This value is computed with the user persisted state for the view. * * If the user has not set pinning state for the view, global views and * owned views are pinned by default. */ get isPinned(): boolean; /** * The user indicated pin state for this view, or null if user has not indicated a preference. */ get isUserPinned(): boolean | null; get typedName(): string; }