import { ValidatedResponse, type ValidatedResponseArgs } from '@txstate-mws/graphql-server'; import { DateTime } from 'luxon'; import { DeleteState, DeleteStateInput, FilenameSafeString, LaunchState, LinkInputContext, PagetreeType } from '../internal.js'; export declare const mimeToExtOverrides: Record; export declare class BoxAttributes { width: number; height: number; constructor(meta: any); static hasBox(meta: any): boolean; } export declare class Asset { internalId: number; id: string; name: FilenameSafeString; linkId: string; filename: string; size: number; mime: string; extension: string; checksum: string; deleted: boolean; deletedAt?: DateTime; deleteState: DeleteState; lastRawDownload?: DateTime; pathSplit: number[]; deletedBy?: number; folderInternalId: number; dataId: string; intDataId: number; pagetreeType: PagetreeType; orphaned: boolean; siteId: string; siteName: string; pagetreeId: string; resolvedPath: string; resolvedPathWithoutSitename: string; launchState: LaunchState; stringMeta: string | object; parsedMeta: any; get meta(): any; get box(): BoxAttributes | undefined; constructor(row: any); } export declare class AssetFilter { internalIds?: number[]; ids?: string[]; legacyIds?: string[]; siteIds?: string[]; links?: AssetLinkInput[]; checksums?: string[]; folderIds?: string[]; pagetreeIds?: string[]; pagetreeTypes?: PagetreeType[]; launchStates?: LaunchState[]; folderInternalIds?: number[]; names?: string[]; paths?: string[]; beneath?: string[]; parentPaths?: string[]; bytes?: number; mimes?: string[]; extensions?: string[]; referenced?: boolean; deleteStates?: DeleteStateInput[]; viewForEdit?: boolean; linkIds?: string[]; noresults?: boolean; modifiedBefore?: DateTime; modifiedAfter?: DateTime; search?: string; } export declare enum DownloadsResolution { DAILY = "daily", WEEKLY = "weekly", MONTHLY = "monthly", YEARLY = "yearly" } export declare class DownloadsFilter { after?: DateTime; months?: number; resolution?: DownloadsResolution; } export declare class DownloadRecord { relatedId: string; date: DateTime; count: number; constructor(relatedId: string, datestr: string, downloads: number); } export declare class AssetResponse extends ValidatedResponse { asset?: Asset; constructor(config: ValidatedResponseArgs & { asset?: Asset; }); } export declare class AssetsResponse extends ValidatedResponse { assets: Asset[]; constructor(config?: ValidatedResponseArgs & { assets?: Asset[]; }); } export declare class AssetPermissions { } export declare enum AssetPermission { UPDATE = "update", MOVE = "move", DELETE = "delete", UNDELETE = "undelete" } export declare class AssetResize { id: string; checksum: string; mime: string; extension: string; width: number; height: number; quality: number; size: number; lastDownload?: DateTime; binaryId: number; originalBinaryId: number; stringMeta: string | object; parsedMeta: any; get meta(): any; stringSettings: string | object; parsedSettings: any; get settings(): any; get lossless(): boolean | undefined; constructor(row: any); } export declare class AssetLinkInput { linkId: string; siteId: string; path: string; checksum: string; context?: LinkInputContext; }