///
import { LitElement } from 'lit-element';
import { type EventEmitter } from '../../internal/decorators';
import type EhrElement from '../EhrElement';
import type { Variant } from '../EhrElement';
import type { Data } from './utils';
import type { MbPlugin } from './plugins/plugins';
import type MbSubmit from '../submit/submit';
import type { SuggestEvent } from '../suggestionWrapper';
import type Repeatable from '../repeat/Repeatable';
import type { SearchFunction } from '../codedtext/searchFunctions';
export default class MedblockForm extends LitElement {
static styles: import("lit-element").CSSResult;
ctx: any;
overwritectx: boolean;
novalidate: boolean;
templateId: string;
nosuggest: boolean;
variant: Variant;
handleSearch: SearchFunction;
handleVariantChange(_: Variant, newVariant: Variant): void;
handleSearchChange(_: Variant, newHandleSearch: SearchFunction): void;
_input: EventEmitter;
load: EventEmitter;
plugin: MbPlugin;
serializeDeferredData: boolean;
mbElementSet: Set;
get mbElements(): {
[path: string]: EhrElement;
};
repeatables: {
[path: string]: Repeatable;
};
updates: Function[];
validate(): boolean;
parse(data: any): any;
serialize(mbElements?: {
[path: string]: EhrElement;
}): any;
dataToContextElements(data: {
[key: string]: any;
}): {
[key: string]: EhrElement;
};
import(data: any): void;
export(validate?: boolean): any;
clear(): void;
getStructured(flat: Data, path?: string): any;
submit: EventEmitter;
handleSubmit(): Promise;
hasValue(value: any): boolean;
isContextElement(element: EhrElement): boolean;
nonEmptyPaths(): string[];
nonContextPaths(): string[];
insertContext(): void;
ensureContextsRegistered(): Promise;
get submitButton(): MbSubmit | null;
get data(): Data;
getCount(pathString: string | RegExp, data: any): number;
set data(data: Data);
deferredData: Data;
sendWebMessage(postSubmit?: boolean, data?: any): void;
suggestDomain: string;
handleInput(e: CustomEvent): void;
triggerInputRequested: boolean;
triggerInput(): Promise;
handleSlotChange(): void;
getTarget(e: CustomEvent): EventTarget;
handleChildConnect(e: CustomEvent): void;
handleRepeatableConnect(e: CustomEvent): void;
handleChildDisconnect(e: CustomEvent): void;
handleChildPathChange(_: CustomEvent<{
oldPath: string;
newPath: string;
}>): void;
addSuggestion(data: any): void;
handleSuggestion(e: CustomEvent): void;
handleParentMessage: (e: MessageEvent) => void;
observer: MutationObserver;
intervalId: NodeJS.Timeout;
handleTodos(): void;
connectedCallback(): Promise;
disconnectedCallback(): void;
render(): import("lit-element").TemplateResult;
}