///
declare const _default: {
register: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
bootstrap: ({ strapi }: {
strapi: any;
}) => Promise;
destroy: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => void;
config: {
default: {
cron: {
enabled: boolean;
rule: string;
};
};
validator(): void;
};
controllers: {
admin: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
createVideoId(ctx: any): Promise;
uploadThumbnail(ctx: any): Promise;
create(ctx: any): Promise;
findAll(ctx: any): Promise;
token(ctx: any): Promise;
update(ctx: any): Promise;
delete(ctx: any): Promise;
getTopVideos(ctx: any): Promise;
};
'api-video-asset': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
webhookEncodingCompleted: (ctx: import("koa").Context) => Promise<{
received: boolean;
error: "Missing webhook authentication headers.";
message?: undefined;
} | {
received: boolean;
error: "Missing raw request body. Enable raw body parsing to verify the webhook signature.";
message?: undefined;
} | {
received: boolean;
error: "Webhook secret not found for the provided webhook ID.";
message?: undefined;
} | {
received: boolean;
error: "Webhook signature verification failed.";
message?: undefined;
} | {
received: boolean;
message: "Webhook received and ignored because the event type is not relevant.";
error?: undefined;
} | {
received: boolean;
message: "Webhook received and accepted, but the video duration is not available yet.";
error?: undefined;
} | {
received: boolean;
message: "Webhook received and accepted, but no matching video asset was found.";
error?: undefined;
} | {
received: boolean;
message: "Webhook received and accepted, but the matching video asset has no document ID.";
error?: undefined;
} | {
received: boolean;
message: "Webhook received and accepted, but the duration is already up to date.";
error?: undefined;
} | {
received: boolean;
message: "Webhook received and processed successfully. Duration updated.";
error?: undefined;
} | {
received: boolean;
error: "Failed to process api.video webhook.";
message?: undefined;
}>;
count: (ctx: import("koa").Context) => Promise;
find: (ctx: import("koa").Context) => Promise;
findOne: (ctx: import("koa").Context) => Promise;
} & import("@strapi/types/dist/core/core-api/controller").Base;
settings: ({ strapi }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
getSettings(ctx: any): Promise;
saveSettings(ctx: any): Promise;
};
};
routes: {
admin: {
type: string;
routes: {
method: string;
path: string;
handler: string;
config: {
policies: any[];
};
}[];
};
settings: {
routes: {
method: string;
path: string;
handler: string;
config: {
policies: any[];
};
}[];
};
'api-video-asset': {
type: string;
routes: ({
method: string;
path: string;
handler: string;
config?: undefined;
} | {
method: string;
path: string;
handler: string;
config: {
auth: boolean;
};
})[];
};
};
services: {
settings: ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
getSettings: () => Promise;
saveSettings: (settings: import("../../types").CustomSettings) => Promise;
} & import("@strapi/types/dist/core/core-api/service").Base;
'api-video-asset': ({ strapi, }: {
strapi: import("@strapi/types/dist/core").Strapi;
}) => {
createVideoId: (data: any) => Promise<{
newVideo: import("@api.video/nodejs-client/lib/model/Video").default;
token: import("@api.video/nodejs-client/lib/model/AccessToken").default;
}>;
uploadThumbnail: (videoId: string, file: {
base64: string;
mimeType?: string;
fileName?: string;
}) => Promise<{
thumbnail: string;
video: import("@api.video/nodejs-client/lib/model/Video").default;
}>;
findAll: (query: any) => Promise;
token: (videoId: string) => Promise<{
token: string;
}>;
create: (data: import("../../types").CustomVideo) => Promise;
delete: (id: string, videoId: string) => Promise;
update: (id: string, videoId: string, data: any) => Promise;
getTopVideos: (query: any) => Promise<{
videoId: string;
metrics: {
views: number;
};
video: {
title: string;
};
}[]>;
syncMissingAssetsFromApiVideo: () => Promise<{
created: number;
skippedExisting: number;
skippedIncomplete: number;
failed: number;
}>;
} & import("@strapi/types/dist/core/core-api/service").Base;
};
contentTypes: {
'api-video-asset': {
schema: {
kind: string;
collectionName: string;
info: {
name: string;
singularName: string;
pluralName: string;
displayName: string;
};
pluginOptions: {
'content-manager': {
visible: boolean;
};
'content-type-builder': {
visible: boolean;
};
};
options: {
draftAndPublish: boolean;
comment: string;
};
attributes: {
title: {
type: string;
required: boolean;
};
description: {
type: string;
required: boolean;
};
_public: {
type: string;
default: boolean;
required: boolean;
};
videoId: {
type: string;
required: boolean;
maxLength: number;
};
hls: {
type: string;
required: boolean;
};
iframe: {
type: string;
required: boolean;
};
mp4: {
type: string;
required: boolean;
};
player: {
type: string;
required: boolean;
};
thumbnail: {
type: string;
required: boolean;
};
tags: {
type: string;
};
metadata: {
type: string;
};
duration: {
type: string;
};
};
};
};
};
policies: {};
middlewares: {};
};
export default _default;