import { Model, ModelElement } from './modelElement.cjs';

declare class Essential {
    static load(fileName: string, callback: () => void): void;
    static save(model: Model, fileName: string, callback: () => void): void;
    static getHashCode(input: string): number;
    static isModelElement(obj: unknown): obj is ModelElement;
    static isModelElementCollection(obj: unknown): obj is ModelElement[];
    static asModelElement(obj: unknown): ModelElement | null;
    static asModelElementCollection(obj: unknown): ModelElement[] | null;
    static collectionToJson(col: ModelElement[]): string;
    static toEssential(m: ModelElement): string;
    static refToEssential(me: ModelElement): string;
    static collectionToEssential(col: ModelElement[]): string;
    static primitiveTypeToEssential(value: unknown): string | null;
}

export { Essential };
