import CentralTopic from './CentralTopic';
import { DesignerOptions } from './DesignerOptionsBuilder';
import Events from './Events';
import Relationship from './Relationship';
import Topic from './Topic';
declare class DesignerModel extends Events {
    private _zoom;
    private _topics;
    private _relationships;
    constructor(options: DesignerOptions);
    getZoom(): number;
    setZoom(zoom: number): void;
    getTopics(): Topic[];
    getRelationships(): Relationship[];
    getCentralTopic(): CentralTopic;
    filterSelectedTopics(): Topic[];
    filterSelectedRelationships(): Relationship[];
    getEntities(): (Relationship | Topic)[];
    removeTopic(topic: Topic): void;
    removeRelationship(rel: Relationship): void;
    addTopic(topic: Topic): void;
    addRelationship(rel: Relationship): void;
    filterTopicsIds(validate?: (topic: Topic) => boolean, errorMsg?: string): number[];
    selectedTopic(): Topic | undefined;
    findTopicById(id: number): Topic | undefined;
}
export default DesignerModel;
