import type { SetOptional } from 'type-fest'; import type { StorageHash } from '@cloudpss/object-storage'; import type { ResourceRevisionOf } from './known-resource-types.js'; import { type ResourceId } from './resource-id.js'; import type { ResourcePermissions } from './permission.js'; import type { Page } from './page.js'; import type { ResourceTag } from './tag.js'; /** * 表示一个资源 */ export interface Resource = ResourceRevisionOf> { /** RID,空表示尚未保存过 {@link ResourcePermission.READ_META} */ rid: ResourceId; /** 名称 {@link ResourcePermission.READ_META}/{@link ResourcePermission.WRITE_META} */ name: string; /** 描述 {@link ResourcePermission.READ_META}/{@link ResourcePermission.WRITE_META} */ description: string; /** 资源的标签 {@link ResourcePermission.READ_META}/{@link ResourcePermission.WRITE_META} */ tags: ResourceTag[]; /** 资源的关键词 {@link ResourcePermission.READ_META}/{@link ResourcePermission.WRITE_META} */ keywords: string[]; /** 资源权限 {@link ResourcePermission.READ_META}/{@link ResourcePermission.ADMIN} */ permissions: ResourcePermissions; /** 资源的数据 {@link ResourcePermission.READ}/{@link ResourcePermission.WRITE} */ revision: TRevision; /** 资源的附加存储 {@link ResourcePermission.READ}/{@link ResourcePermission.WRITE} */ storage?: StorageHash[]; /** 资源关联的发布页面 {@link ResourcePermission.READ_META}/{@link ResourcePermission.PUBLISH} */ pages?: Page[]; } /** 检查是否为资源 */ export declare function isResource = ResourceRevisionOf>(value: unknown, allowUnsaved?: AllowUnsaved): value is AllowUnsaved extends true ? SetOptional, 'rid'> : Resource; /** 检查资源是否未保存 */ export declare function isResourceUnsaved(value: Resource): boolean; //# sourceMappingURL=resource.d.ts.map