import z from 'zod';
import { anchorSchema, colorSchema, colorsSchema, connectorSchema, connectorStyleOptions, MapEntityItemSchema, mapEntityTypeSchema, modelItemSchema, modelItemsSchema, modelSchema, rectangleSchema, textBoxSchema, viewSchema, viewsSchema } from 'src/schemas';
export { connectorStyleOptions } from 'src/schemas';
type TModel = z.infer<typeof modelSchema>;
type TModelItems = z.infer<typeof modelItemsSchema>;
type tMapEntityType = z.infer<typeof mapEntityTypeSchema>;
type tColor = z.infer<typeof colorSchema>;
type TColors = z.infer<typeof colorsSchema>;
type TModelItem = z.infer<typeof modelItemSchema>;
type TViews = z.infer<typeof viewsSchema>;
type tView = z.infer<typeof viewSchema>;
type TViewItem = z.infer<typeof MapEntityItemSchema>;
type TConnectorStyle = keyof typeof connectorStyleOptions;
type TConnectorAnchor = z.infer<typeof anchorSchema>;
type TConnector = z.infer<typeof connectorSchema>;
type TTextBox = z.infer<typeof textBoxSchema>;
type tRectangle = z.infer<typeof rectangleSchema>;
type TModelStore = TModel & {
    parentStore: object | null;
    currentView: tView;
    update: () => void;
    toJSON: () => void;
    dispose: () => void;
};
export type { TModel, TModelItems, tMapEntityType, tColor, TColors, TModelItem, TViews, tView, TViewItem, TConnectorStyle, TConnectorAnchor, TConnector, TTextBox, tRectangle, TModelStore, };
