import { NamedNode, Prefixes, Store } from 'n3';
import { Term } from '@rdfjs/types';
import { ClassInstanceProvider } from './plugin';
import { Loader } from './loader';
import { Theme } from './theme';
export declare class ElementAttributes {
    shapes: string | null;
    shapesUrl: string | null;
    shapeSubject: string | null;
    values: string | null;
    valuesUrl: string | null;
    /**
     * @deprecated Use valuesSubject instead
     */
    valueSubject: string | null;
    valuesSubject: string | null;
    valuesNamespace: string;
    valuesGraph: string | null;
    view: string | null;
    language: string | null;
    loading: string;
    ignoreOwlImports: string | null;
    collapse: string | null;
    submitButton: string | null;
    generateNodeShapeReference: string | null;
    showNodeIds: string | null;
}
export declare class Config {
    attributes: ElementAttributes;
    loader: Loader;
    classInstanceProvider: ClassInstanceProvider | undefined;
    prefixes: Prefixes;
    editMode: boolean;
    languages: string[];
    lists: Record<string, Term[]>;
    groups: Array<string>;
    theme: Theme;
    form: HTMLElement;
    renderedNodes: Set<string>;
    valuesGraphId: NamedNode | undefined;
    private _store;
    constructor(theme: Theme, form: HTMLElement);
    updateAttributes(elem: HTMLElement): void;
    static dataAttributes(): Array<string>;
    get store(): Store;
    set store(store: Store);
}
