import { ApplicationNode, Attribute, Place, Period, Datasource, PantherEntity, FullPantherEntity } from '@gisatcz/ptr-be-core/browser'; /** * A generic type that extends a given type `T` with an optional `neighbours` property. * * @template T - The base type to extend. * @property {string[] | undefined} neighbours - An optional array of neighbour identifiers. */ type WithNeighbours = T & { neighbours?: string[]; }; /** * Represents an `ApplicationNode` extended with optional neighbours. */ export interface ApplicationNodeWithNeighbours extends WithNeighbours { } /** * Represents an `Attribute` extended with optional neighbours. */ export interface AttributeWithNeighbours extends WithNeighbours { } /** * Represents a `Place` extended with optional neighbours. */ export interface PlaceWithNeighbours extends WithNeighbours { } /** * Represents a `Period` extended with optional neighbours. */ export interface PeriodWithNeighbours extends WithNeighbours { } /** * Represents a `Datasource` extended with optional neighbours. */ export interface DatasourceWithNeighbours extends WithNeighbours { } /** * Represents a `PantherEntity` extended with optional neighbours. */ export interface PantherEntityWithNeighbours extends WithNeighbours { } /** * Represents a `FullPantherEntity` extended with optional neighbours. */ export interface FullPantherEntityWithNeighboursAsProp extends WithNeighbours { } export {};