import { ShaclNode } from './node';
import { Config } from './config';
import { ClassInstanceProvider, ResourceLinkProvider, Plugin } from './plugin';
import { Store } from 'n3';
import { Theme } from './theme';
export * from './exports';
export declare const initTimeout = 200;
export interface ValidationReport {
    conforms: boolean;
    results: unknown[];
}
export declare class ShaclForm extends HTMLElement {
    static get observedAttributes(): string[];
    config: Config;
    shape: ShaclNode | null;
    form: HTMLFormElement;
    initDebounceTimeout: ReturnType<typeof setTimeout> | undefined;
    private styleElement;
    constructor();
    connectedCallback(): void;
    attributeChangedCallback(): void;
    private initialize;
    private ensureRenderRoot;
    private applyStyles;
    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;
    /**
    * @deprecated Use setDataProvider() instead
    */
    setClassInstanceProvider(provider: ClassInstanceProvider): void;
    setResourceLinkProvider(provider: ResourceLinkProvider): void;
    validate(ignoreEmptyValues?: boolean): Promise<ValidationReport>;
    private createValidationErrorDisplay;
    private findRootShaclShapeSubject;
    private removeFromDataGraph;
}
