///
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