import { GraphElement } from '@csnext/cs-data';
import { DocDatasource } from '../..';
import { IGraphStorage, StorageTypes } from './graph-storage';
export declare class ServerStorage implements IGraphStorage {
    base_url: string;
    source: DocDatasource;
    storageType: StorageTypes;
    constructor(base_url: string);
    init(source: DocDatasource): Promise<boolean>;
    loadGraph(): Promise<boolean>;
    restoreGraph(kg: {
        [id: string]: GraphElement;
    }): Promise<boolean>;
    useSocket(): void;
    loadTypes(): Promise<boolean>;
    saveTypes(): Promise<boolean>;
    saveEdge(edge: GraphElement): Promise<GraphElement | undefined>;
    saveElement(element: GraphElement): Promise<GraphElement>;
    saveMultiple(elements: GraphElement[]): Promise<GraphElement[]>;
    removeMultiple(ids: string[]): Promise<boolean>;
    removeElement(id: string): Promise<boolean>;
    removeEdge(id: string): Promise<boolean>;
    loadGraphElement(id: string): Promise<GraphElement | undefined>;
}
