import type { InjectionKey, ComputedRef, Component } from 'vue'; import type { EntityContext } from './../types/index.js'; import type { DebugLogger } from '#blokkli/editor/providers/debug'; import type { FieldListItemTyped, ValidFieldListTypes, ValidProviderTypes } from '#blokkli-build/generated-types'; import type DraggableListComponent from '../editor/components/DraggableList.vue.js'; import type BlokkliEditableEditComponent from '../editor/components/BlokkliEditableEdit.vue.js'; import type { BlokkliApp } from '#blokkli/editor/types/app'; import type { MutatedField, MutatedItemProps, MutatedOptions } from '#blokkli/editor/types/state'; import type { DefineBlokkliContext } from '#blokkli/types/definitions'; import type { InjectedBlokkliItem } from '#blokkli/types/field'; import type { Eventbus } from '#blokkli/editor/events'; import type { DomProvider } from '#blokkli/editor/providers/dom'; import type { DefinitionProvider } from '#blokkli/editor/providers/definition'; import type { BlokkliProviderEntityContext } from '#blokkli/types/provider'; type ItemEditContext = { eventBus: Eventbus; mutatedOptions: MutatedOptions; dom?: DomProvider; definitions: DefinitionProvider; selectedUuids: ComputedRef; useBlockRegistration?: (dom: DomProvider, uuid: string) => void; }; export declare const INJECT_APP: InjectionKey; /** * The reduced edit context. */ export declare const INJECT_EDIT_CONTEXT: InjectionKey; /** * Whether we're currently editing (within the editor). */ export declare const INJECT_IS_EDITING: InjectionKey; /** * Whether the block is rendered within another block (nested). */ export declare const INJECT_IS_NESTED: InjectionKey; /** * The current nesting level, starting at 0. */ export declare const INJECT_NESTING_LEVEL: InjectionKey; /** * The z-index of the parent field, used to resolve overlapping blocks at the * same nesting level. Higher values take priority. */ export declare const INJECT_FIELD_Z_INDEX: InjectionKey; /** * Whether we're currently in preview mode. */ export declare const INJECT_IS_PREVIEW: InjectionKey>; /** * Whether the block is rendered inside a from_library block. */ export declare const INJECT_IS_IN_REUSABLE: InjectionKey; /** * The options provided by the from_library block. */ export declare const INJECT_REUSABLE_OPTIONS: InjectionKey>>; /** * The UUID of the parent from_library block. */ export declare const INJECT_REUSABLE_UUID: InjectionKey; /** * The field list type of the parent field. */ export declare const INJECT_FIELD_LIST_TYPE: InjectionKey>; /** * The field list items of the containing block. */ export declare const INJECT_FIELD_LIST_BLOCKS: InjectionKey>; /** * Whether the parent field is rendering in proxy mode. */ export declare const INJECT_FIELD_PROXY_MODE: InjectionKey; /** * Whether the parent field is rendering in proxy mode. * * @todo: This is probably the ssame as INJECT_FIELD_PROXY_MODE. */ export declare const INJECT_FIELD_USES_PROXY: InjectionKey; /** * Whether the global proxy mode setting is enabled in the editor. */ export declare const INJECT_GLOBAL_PROXY_MODE: InjectionKey>; /** * The blocks of the root field. */ export declare const INJECT_PROVIDER_BLOCKS: InjectionKey>; /** * The item data provided by BlokkliItem. */ export declare const INJECT_BLOCK_ITEM: InjectionKey>; /** * The mutated fields map provided in the editor. * * This is a reactive property with an objected keyed by field list key. */ export declare const INJECT_MUTATED_FIELDS_MAP: InjectionKey>; /** * The current "entity context". * * For blocks rendered directly within the first BlokkliField inside BlokkliProvider, the entity is the provider. * For nested blocks, the entity context will be the block that contains nested blocks. */ export declare const INJECT_ENTITY_CONTEXT: InjectionKey; /** * The current provider type. */ export declare const INJECT_PROVIDER_TYPE: InjectionKey; /** * The entity context of the provider. */ export declare const INJECT_PROVIDER_CONTEXT: InjectionKey>; /** * The defineBlokkli context of the "blokkli_fragment" block. */ export declare const INJECT_FRAGMENT_CONTEXT: InjectionKey>; /** * The unique key of the current provider. */ export declare const INJECT_PROVIDER_KEY: InjectionKey; /** * The DraggableList component used during editing. */ export declare const INJECT_EDIT_FIELD_LIST_COMPONENT: InjectionKey; /** * The BlokkliEditableEdit component used during editing. */ export declare const INJECT_EDIT_EDITABLE_COMPONENT: InjectionKey; /** * The reactive item props override object, used to override props values (during editing). */ export declare const INJECT_ITEM_PROPS_OVERRIDE: InjectionKey; /** * The debug logger instance. */ export declare const INJECT_EDIT_LOGGER: InjectionKey; /** * An object containing block item component keys as properties and the Vue component as values. * * Used to prevent async loading of components in the editor. */ export declare const INJECT_ALL_COMPONENTS_CHUNK: InjectionKey>; export {};