import type { NodeSpec, MarkSpec } from '@atlaskit/editor-prosemirror/model';
import { Schema } from '@atlaskit/editor-prosemirror/model';
/**
 * Creates a schema preserving order of marks and nodes.
 */
export declare function createSchema<N extends string = string, M extends string = string>(config: SchemaConfig<N, M>): Schema<N, M>;
export interface SchemaConfig<N = string, M = string> {
    customMarkSpecs?: SchemaCustomMarkSpecs;
    customNodeSpecs?: SchemaCustomNodeSpecs;
    marks?: M[];
    nodes: N[];
}
export interface SchemaBuiltInItem {
    name: string;
    spec: NodeSpec | MarkSpec;
}
export interface SchemaCustomNodeSpecs {
    [name: string]: NodeSpec;
}
export interface SchemaCustomMarkSpecs {
    [name: string]: MarkSpec;
}
export declare const allowCustomPanel: boolean;
export { getNodesAndMarksMap } from './get-nodes-and-marks-map';
