import type { Schema, Node as PMNode } from '@atlaskit/editor-prosemirror/model';
import type { ADNode } from '@atlaskit/editor-common/validator';
import type { EventHandlers } from '@atlaskit/editor-common/ui';
import type { Transformer } from '@atlaskit/editor-common/types';
export type TransformerProvider<T> = (schema: Schema) => Transformer<T>;
export declare class ADFEncoder<T> {
    encode: (value: T) => any;
    constructor(createTransformerWithSchema: TransformerProvider<T>);
}
export declare const getText: (node: PMNode | ADNode) => string;
export declare const getEventHandler: (eventHandlers?: EventHandlers, type?: keyof EventHandlers, eventName?: string) => any;
/**
 * Traverse through parent elements of element. Return element for which evaluate(element) returns
 * true. If topElement is reached before evaluate returns true, return false. Does not run evaluate
 * on topElement.
 * @param element Starting HTMLElement
 * @param topElement HTMLElement to end search at. evaluate is not called on this element
 * @param evaluate Function which returns true or false based on the given element. eg: Checks if
 * element has desired classname.
 */
export declare function findInTree(element: HTMLElement, topElement: HTMLElement, evaluate: (element: HTMLElement) => boolean): boolean;
