import { DiscriminatedItem, ItemTypeUnion, Member, PackedItem } from '../index.js'; import { UUID } from '../types.js'; export interface ItemPublished { id: UUID; creator?: Member; createdAt: string; item: DiscriminatedItem; totalViews: number; } export interface PackedItemPublished { id: UUID; creator?: Member; createdAt: string; item: PackedItem; totalViews: number; } export declare enum PublicationStatus { /** Indicates that the item is not published. */ Unpublished = "unpublished", /** Indicates that the item is valid and published. */ Published = "published", /** Indicates that the item is published because it's a child of a published parent. */ PublishedChildren = "publishedChildren", /** Indicates that the item is valid and ready to be published. */ ReadyToPublish = "readyToPublish", /** Indicates that the item is currently subject to validation checks. */ Pending = "pending", /** Indicates that the item failed validation and cannot be published. */ Invalid = "invalid", /** Indicates that the item is published but the validation is outdated. */ Outdated = "outdated", /** Indicates that the item's type is not authorised for publication. */ ItemTypeNotAllowed = "itemTypeNotAllowed" } export declare class PublishableItemTypeChecker { private static readonly ALLOWED_PUBLISHING_TYPES; static isItemTypeAllowedToBePublished(itemType: ItemTypeUnion): boolean; static getAllowedTypes(): UnionOfConst<{ readonly APP: "app"; readonly DOCUMENT: "document"; readonly FOLDER: "folder"; readonly LINK: "embeddedLink"; readonly FILE: "file"; readonly SHORTCUT: "shortcut"; readonly H5P: "h5p"; readonly ETHERPAD: "etherpad"; readonly PAGE: "page"; }>[]; }