import { ShaclNode } from './node';
import { Config } from './config';
import { ClassInstanceProvider, Plugin } from './plugin';
import { Store } from 'n3';
import { Theme } from './theme';
export declare class ShaclForm extends HTMLElement {
    static get observedAttributes(): string[];
    config: Config;
    shape: ShaclNode | null;
    form: HTMLFormElement;
    initDebounceTimeout: ReturnType<typeof setTimeout> | undefined;
    constructor(theme: Theme);
    connectedCallback(): void;
    attributeChangedCallback(): void;
    private initialize;
    serialize(format?: string, graph?: Store<import("@rdfjs/types").Quad, import("n3").Quad, import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>): string;
    toRDF(graph?: Store<import("@rdfjs/types").Quad, import("n3").Quad, import("@rdfjs/types").Quad, import("@rdfjs/types").Quad>): Store;
    registerPlugin(plugin: Plugin): void;
    setTheme(theme: Theme): void;
    setSharedShapesGraph(graph: Store): void;
    setClassInstanceProvider(provider: ClassInstanceProvider): void;
    validate(ignoreEmptyValues?: boolean): Promise<boolean>;
    private createValidationErrorDisplay;
    private findRootShaclShapeSubject;
}
