import type { Mark as PMMark, Schema } from '@atlaskit/editor-prosemirror/model';
export declare const ADFStages: {
    readonly FINAL: "final";
    readonly STAGE_0: "stage0";
};
export type ADFStage = (typeof ADFStages)[keyof typeof ADFStages];
export interface ADDoc {
    content: ADNode[];
    type: 'doc';
    version: 1;
}
export interface ADNode {
    attrs?: any;
    content?: ADNode[];
    marks?: ADMark[];
    text?: string;
    type: string;
}
export interface ADMark {
    attrs?: any;
    type: string;
}
export interface ADMarkSimple {
    attrs?: any;
    type: {
        name: string;
    };
}
export declare const markOrder: string[];
export declare const isSubSupType: (type: string) => type is "sub" | "sup";
export declare const getMarksByOrder: (marks: readonly PMMark[]) => PMMark[];
export declare const isSameMark: (mark: PMMark | null, otherMark: PMMark | null) => boolean;
export declare const getValidDocument: (doc: ADDoc, schema?: Schema, adfStage?: ADFStage) => ADDoc | null;
export declare const getValidContent: (content: ADNode[], schema?: Schema, adfStage?: ADFStage) => ADNode[];
/**
 * Sanitize unknown node tree
 *
 * @see https://product-fabric.atlassian.net/wiki/spaces/E/pages/11174043/Document+structure#Documentstructure-ImplementationdetailsforHCNGwebrenderer
 */
export declare const getValidUnknownNode: (node: ADNode) => ADNode;
export declare const getValidNode: (originalNode: ADNode, schema?: Schema, adfStage?: ADFStage) => ADNode;
export declare const getValidMark: (mark: ADMark, adfStage?: ADFStage) => ADMark | null;
