import { env } from '@strapi/utils'; import type { Strapi, Router, Controller, Service, Policy, Middleware } from '../core'; import type { ContentTypeSchema } from '../struct'; import type { Schemas } from '../schema'; import type * as Public from '../public'; import type * as UID from '../uid'; import type { Constants, Extends, Or, Not } from '../utils'; export type IsEnabled = TName extends keyof Public.PluginActivation ? Public.PluginActivation[TName] extends infer TRule ? Or, Extends> : false : false; export type LoadedPlugin = { config: { default: Record | ((opts: { env: typeof env; }) => Record); validator: (config: Record) => void; }; bootstrap: ({ strapi }: { strapi: Strapi; }) => void | Promise; destroy: ({ strapi }: { strapi: Strapi; }) => void | Promise; register: ({ strapi }: { strapi: Strapi; }) => void | Promise; routes: Record; controllers: Record; services: Record; policies: Record; middlewares: Record; contentTypes: Record; }; export * as Config from './config'; //# sourceMappingURL=index.d.ts.map