import { IFormFieldOptions, IFormOptions } from '@csnext/cs-core';
import Vue from 'vue';
import { DocDatasource } from '../../datasources/doc-datasource';
import { RelationType } from '@csnext/cs-data';
import { LinkInfo, GraphElement } from '@csnext/cs-data';
export default class RelationEditor extends Vue {
    links: LinkInfo[] | null;
    linkIds: string[];
    createElement(): void;
    updateLinks(e: any): Promise<void>;
    remove(li: LinkInfo): void;
    getItems(): LinkInfo[];
    get relation(): RelationType | undefined;
    get node(): GraphElement | undefined;
    get graph(): DocDatasource | undefined;
    editLink(l: LinkInfo): Promise<void>;
    addNewObjectRelation(): Promise<void>;
    deleteLink(l: LinkInfo): Promise<void>;
    setLinks(): void;
    formDef: IFormOptions | null;
    field?: IFormFieldOptions;
    target?: object;
    newRelation?: any;
    activeRelation?: any;
    oldRelation?: GraphElement | null;
    addNewRelation(): void;
    getActiveRelation(): void;
    updateRelation(): Promise<void>;
    mounted(): void;
}
