import {ConfigurationElementI, ConfigurationAttribute} from './types';
import SparqlObject from '../SparqlObject/SparqlObject'
import _init from './_initialisation'
// import {insertModel} from '../SparqlObject/_insert'
// import {queryModel} from '../Set/_query'

export namespace SparqlTask {
    // let configuration: { [ref: string]: ConfigurationElementI } = {};
    export var prefixes: {[ref: string] : string};
    export var sparqlObjects: { [ref: string]: SparqlObject } = {};
    export function initialisation(configurationArray: {attributes: Array<string | ConfigurationAttribute>, definition: string, reference: string, primaryKey: string, prefixes?: {[key:string] : string}}[] = []) {
        sparqlObjects = {...sparqlObjects, ..._init(configurationArray)}
    }
    // insertModel = insertModel;
    // queryModel = queryModel;

    // constructor(configurationArray: {attributes: Array<string | ConfigurationAttribute>, definition: string, reference: string, primaryKey: string, prefixes?: {[key:string] : string}}[] = []) {
    //     initialisation.apply(this, [configurationArray]);
    // }


}

export default SparqlTask;