import { CamelResource, SourceSchemaType } from '../models/camel'; import { BaseCamelEntity } from '../models/camel/entities'; import { BaseVisualCamelEntity } from '../models/visualization/base-visual-entity'; export interface EntitiesContextResult { entities: BaseCamelEntity[]; currentSchemaType: SourceSchemaType; visualEntities: BaseVisualCamelEntity[]; camelResource: CamelResource; /** * Notify that a property in an entity has changed, hence the source * code needs to be updated * * NOTE: This process shouldn't recreate the CamelResource neither * the entities, just the source code */ updateSourceCodeFromEntities: () => void; /** * Refresh the entities from the Camel Resource, and * notify subscribers that a `entities:updated` happened * * NOTE: This process shouldn't recreate the CamelResource, * just the entities */ updateEntitiesFromCamelResource: () => void; /** * Sets the current schema type and recreates the CamelResource */ setCurrentSchemaType: (entity: SourceSchemaType) => void; } export declare const useEntities: () => EntitiesContextResult;