import { NavigationItemDBSchema } from './schemas'; export type PluginConfigNameFields = Record; export type PluginConfigPopulate = Record; export type PluginConfigPathDefaultFields = Record; export type NavigationItemCustomFieldType = 'boolean' | 'string' | 'select' | 'media'; export type NavigationItemAdditionalFieldValues = Record; export type PluginConfigGraphQL = { navigationItemRelated: string[]; }; export type ContentType = 'navigation' | 'navigation-item'; export type LifeCycleHookName = 'beforeCreate' | 'beforeCreateMany' | 'afterCreate' | 'afterCreateMany' | 'beforeUpdate' | 'beforeUpdateMany' | 'afterUpdate' | 'afterUpdateMany' | 'beforeDelete' | 'beforeDeleteMany' | 'afterDelete' | 'afterDeleteMany' | 'beforeCount' | 'afterCount' | 'beforeFindOne' | 'afterFindOne' | 'beforeFindMany' | 'afterFindMany'; export interface LifeCycleEvent> { action: THookName; model: { singularName: string; uid: string; tableName: string; attributes: Record; lifecycles: Partial>>; indexes: Array<{ type?: string; name: string; columns: string[]; }>; columnToAttribute: Record; }; state: Record; params: TParams; result?: TResult | TResult[]; } export type Effect = (value: T) => void; export type VoidEffect = Effect; export type StrapiContentTypeFullSchema = any; export type NavigationAction = { create?: boolean; update?: boolean; remove?: boolean; }; export type NavigationActionsCategories = 'toCreate' | 'toUpdate' | 'toRemove'; export type NavigationActionsPerItem = Record;