/// import { register } from './register'; import { bootstrap } from './bootstrap'; declare const _default: () => { register: typeof register; bootstrap: typeof bootstrap; config: { default: { enabled: boolean; provider: string; sizeLimit: number; actionOptions: {}; sharp: { cache: boolean; concurrency: number; }; concurrentUploadSize: number; }; validator(config: { concurrentUploadSize?: unknown; }): void; }; routes: { admin: { type: string; routes: { method: string; path: string; handler: string; config: { policies: (string | { name: string; config: { actions: string[]; }; })[]; }; }[]; }; 'content-api': () => { type: "content-api"; routes: import("@strapi/types/dist/core").RouteInput[]; }; viewConfiguration: { type: string; routes: { method: string; path: string; handler: string; config: { policies: (string | { name: string; config: { actions: string[]; }; })[]; }; }[]; }; }; controllers: { 'admin-file': { find(ctx: import("koa").Context): Promise; findOne(ctx: import("koa").Context): Promise; destroy(ctx: import("koa").Context): Promise; getAIMetadataCount(ctx: import("koa").Context): Promise; generateAIMetadata(ctx: import("koa").Context): Promise; getLatestAIMetadataJob(ctx: import("koa").Context): Promise; }; 'admin-folder': { findOne(ctx: import("koa").Context): Promise; find(ctx: import("koa").Context): Promise; create(ctx: import("koa").Context): Promise; update(ctx: import("koa").Context): Promise; getStructure(ctx: import("koa").Context): Promise; }; 'admin-folder-file': { deleteMany(ctx: import("koa").Context): Promise; moveMany(ctx: import("koa").Context): Promise; }; 'admin-settings': { updateSettings(ctx: import("koa").Context): Promise; getSettings(ctx: import("koa").Context): Promise; }; 'admin-upload': { bulkUpdateFileInfo(ctx: import("koa").Context): Promise; updateFileInfo(ctx: import("koa").Context): Promise; replaceFile(ctx: import("koa").Context): Promise; uploadFiles(ctx: import("koa").Context): Promise; unstable_uploadFilesStream(ctx: import("koa").Context): Promise; unstable_uploadFromUrls(ctx: import("koa").Context): Promise; upload(ctx: import("koa").Context): Promise; }; 'content-api': ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => { find(ctx: import("koa").Context): Promise; findOne(ctx: import("koa").Context): Promise; destroy(ctx: import("koa").Context): Promise; updateFileInfo(ctx: import("koa").Context): Promise; replaceFile(ctx: import("koa").Context): Promise; uploadFiles(ctx: import("koa").Context): Promise; upload(ctx: import("koa").Context): Promise; }; 'view-configuration': { updateViewConfiguration(ctx: import("koa").Context): Promise; findViewConfiguration(ctx: import("koa").Context): Promise; }; }; contentTypes: { file: { schema: { collectionName: string; info: { singularName: string; pluralName: string; displayName: string; description: string; }; options: {}; pluginOptions: { 'content-manager': { visible: boolean; }; 'content-type-builder': { visible: boolean; }; }; attributes: { name: { type: "string"; configurable: false; required: true; }; alternativeText: { type: "text"; configurable: false; }; caption: { type: "text"; configurable: false; }; focalPoint: { type: "json"; configurable: false; }; width: { type: "integer"; configurable: false; }; height: { type: "integer"; configurable: false; }; formats: { type: "json"; configurable: false; }; hash: { type: "string"; configurable: false; required: true; }; ext: { type: "string"; configurable: false; }; mime: { type: "string"; configurable: false; required: true; }; size: { type: "decimal"; configurable: false; required: true; }; url: { type: "text"; configurable: false; required: true; }; previewUrl: { type: "text"; configurable: false; }; provider: { type: "string"; configurable: false; required: true; }; provider_metadata: { type: "json"; configurable: false; }; related: { type: "relation"; relation: "morphToMany"; configurable: false; }; folder: { type: "relation"; relation: "manyToOne"; target: "plugin::upload.folder"; inversedBy: string; private: true; }; folderPath: { type: "string"; minLength: number; required: true; private: true; searchable: false; }; }; indexes: { name: string; columns: string[]; type: null; }[]; }; }; folder: { schema: { collectionName: string; info: { singularName: string; pluralName: string; displayName: string; }; options: {}; pluginOptions: { 'content-manager': { visible: boolean; }; 'content-type-builder': { visible: boolean; }; }; attributes: { name: { type: "string"; minLength: number; required: true; }; pathId: { type: "integer"; unique: true; required: true; }; parent: { type: "relation"; relation: "manyToOne"; target: "plugin::upload.folder"; inversedBy: string; }; children: { type: "relation"; relation: "oneToMany"; target: "plugin::upload.folder"; mappedBy: string; }; files: { type: "relation"; relation: "oneToMany"; target: "plugin::upload.file"; mappedBy: string; }; path: { type: "string"; minLength: number; required: true; }; }; indexes: { name: string; columns: string[]; type: string; }[]; }; }; }; services: { provider: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => { checkFileSize(file: import("./types").UploadableFile): Promise; upload(file: import("./types").UploadableFile): Promise; }; upload: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => { formatFileInfo: ({ filename, type, size }: { filename: string; type: string; size: number; }, fileInfo?: Partial, metas?: { refId?: (string | number) | undefined; ref?: string | undefined; field?: string | undefined; path?: string | undefined; tmpWorkingDirectory?: string | undefined; }) => Promise>; upload: ({ data, files, }: { data: Record; files: import("./types").InputFile[]; }, opts?: { user?: { id: string | number; } | undefined; } | undefined) => Promise; updateFileInfo: (id: string | number, { name, alternativeText, caption, focalPoint, folder }: import("./types").FileInfo, opts?: { user?: { id: string | number; } | undefined; } | undefined) => Promise; replace: (id: string | number, { data, file }: { data: { fileInfo: import("./types").FileInfo; }; file: import("./types").InputFile; }, opts?: { user?: { id: string | number; } | undefined; } | undefined) => Promise; findOne: (id: string | number, populate?: {}) => Promise; findMany: (query?: any) => Promise; findPage: (query?: any) => Promise<{ results: any; pagination: { page: number; pageSize: number; pageCount: number; total: number; }; }>; remove: (file: import("./types").File) => Promise; getSettings: () => Promise>; responsiveDimensions: import("yup/lib/boolean").RequiredBooleanSchema>; autoOrientation: import("yup").BooleanSchema, boolean | undefined>; aiMetadata: import("yup").BooleanSchema, boolean>; }> | null>; setSettings: (value: import("yup/lib/object").AssertsShape<{ sizeOptimization: import("yup/lib/boolean").RequiredBooleanSchema>; responsiveDimensions: import("yup/lib/boolean").RequiredBooleanSchema>; autoOrientation: import("yup").BooleanSchema, boolean | undefined>; aiMetadata: import("yup").BooleanSchema, boolean>; }>) => Promise; getConfiguration: () => Promise>; sort: import("yup/lib/mixed").MixedSchema, any>; }> | null>; setConfiguration: (value: import("yup/lib/object").AssertsShape<{ pageSize: import("yup/lib/number").RequiredNumberSchema>; sort: import("yup/lib/mixed").MixedSchema, any>; }>) => Promise; _uploadImage: (fileData: import("./types").UploadableFile) => Promise; }; folder: { create: (folderData: Pick, opts?: { user: { id: string | number; }; } | undefined) => Promise; exists: (params?: {}) => Promise; deleteByIds: (ids?: never[]) => Promise<{ folders: any[]; totalFolderNumber: number; totalFileNumber: number; }>; update: (id: number, { name, parent, }: { name: string; parent: number | null; }, { user }: { user: { id: string | number; }; }) => Promise; setPathIdAndPath: (folder: Pick) => Promise & { pathId: number; path: string; }>; getStructure: () => Promise & { children: (Partial & any)[]; })[]>; }; file: { getFolderPath: (folderId?: number | null | undefined) => Promise; deleteByIds: (ids?: number[]) => Promise; signFileUrls: (file: import("./types").File) => Promise; fetchUrlToInputFile: (url: string, tmpWorkingDirectory: string, sizeLimit?: number | undefined) => Promise; }; weeklyMetrics: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => { computeMetrics(): Promise<{ assetNumber: number; folderNumber: number; averageDepth: number; maxDepth: number; averageDeviationDepth: number; }>; sendMetrics(): Promise; ensureWeeklyStoredCronSchedule(): Promise; registerCron(): Promise; }; metrics: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => { trackUsage(event: string, properties?: Record | undefined): Promise; sendUploadPluginMetrics(): Promise; }; 'image-manipulation': { isFaultyImage: (file: import("./types").UploadableFile) => Promise; isOptimizableImage: (file: import("./types").UploadableFile) => Promise; isResizableImage: (file: import("./types").UploadableFile) => Promise; isImage: (file: import("./types").UploadableFile) => Promise; getDimensions: (file: import("./types").UploadableFile) => Promise<{ width: number | null; height: number | null; }>; generateResponsiveFormats: (file: import("./types").UploadableFile) => Promise<{ key: string; file: import("./types").UploadableFile; }[]>; generateThumbnail: (file: import("./types").UploadableFile) => Promise; optimize: (file: import("./types").UploadableFile) => Promise; generateFileName: (name: string) => string; }; 'api-upload-folder': { getAPIUploadFolder: () => Promise; }; extensions: { signFileUrlsOnDocumentService: () => Promise; }; aiMetadata: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => { isEnabled(): Promise; countImagesWithoutMetadata(): Promise<{ imagesWithoutMetadataCount: number; totalImages: number; }>; updateFilesWithAIMetadata(files: import("./types").File[], metadataResults: ({ altText: string; caption: string; } | null)[], user: { id: string | number; }): Promise; processExistingFiles(jobId: number, user: { id: string | number; }): Promise; processFiles(files: import("./types").File[]): Promise<({ altText: string; caption: string; } | null)[]>; }; aiMetadataJobs: ({ strapi }: { strapi: import("@strapi/types/dist/core").Strapi; }) => { createJob(): Promise; getJob(jobId: number): Promise; updateJob(jobId: number, updates: Partial>): Promise; deleteJob(jobId: number): Promise; getLatestActiveJob(): Promise; registerCron(): Promise; }; }; }; export default _default; //# sourceMappingURL=index.d.ts.map