/// import type { Logger } from '@becomes/purple-cheetah/types'; import type { BCMSMedia, BCMSMediaAggregate, BCMSMediaType } from './models'; export interface BCMSMediaService { aggregateFromParent(data: { parent: BCMSMedia; basePath?: string; }): Promise; aggregateFromRoot(): Promise; getChildren(parent: BCMSMedia): Promise; mimetypeToMediaType(mimetype: string): BCMSMediaType; getPath(media: BCMSMedia): Promise; getNameAndExt(fullName: string): { name: string; ext: string; }; storage: { getPath(data: { media: BCMSMedia; size?: 'small'; thumbnail?: boolean; }): Promise; exist(media: BCMSMedia): Promise; get(data: { media: BCMSMedia; size?: 'small'; }): Promise; mkdir(media: BCMSMedia): Promise; save(media: BCMSMedia, binary: Buffer, logger?: Logger): Promise; rename(oldMedia: BCMSMedia, newMedia: BCMSMedia): Promise; removeFile(media: BCMSMedia): Promise; removeDir(media: BCMSMedia): Promise; move(oldMedia: BCMSMedia, newMedia?: BCMSMedia | null): Promise; duplicate(oldMedia: BCMSMedia, newMedia: BCMSMedia): Promise; }; }