UNPKG

@foxpage/foxpage-types

Version:

foxpage sdk types

32 lines (31 loc) 935 B
import { ContentDetail } from '../../content'; import { ManagerBase } from '..'; export type MaterialType = 'data.material'; export type MaterialProps<T = Record<string, any>> = T; export interface MaterialItem<P = any> { /** * material name * * @type {string} */ name: string; /** * material type * * @type {MaterialType} */ type: MaterialType; /** * material props */ props: P; } export interface Material extends ContentDetail<MaterialItem> { } export interface MaterialManager<T = Material> extends ManagerBase<T> { addMaterial(material: Material): void; removeMaterials(materialIds: string[]): void; getMaterial(materialId: string, opt: Record<string, any>): Promise<Material | undefined>; getMaterials(materialIds: string[], opt: Record<string, any>): Promise<Material[]>; freshMaterials(materialIds: string[]): Promise<Material[]>; }