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