import { PieContent, PieModel } from "./interface";
export declare const COMPLEX_RUBRIC = "complex-rubric";
/**
 * Allows you to modify the markup for a package that is present in elements/model but
 * missing from markup.
 * @param content the pie content
 * @param npmPackage the npm package
 * @param template a callback function for modifing the markup
 */
export declare const addMarkupForPackage: (content: PieContent, npmPackage: string, template: (id: any, tag: string, markup: string) => string) => PieContent;
/**
 * This function takes the config and configSettings and determines if there should/shouldn't be a complex-rubric in the config
 * depending on configSettings (withRubric.forceEnabled) and config (model.rubricEnabled)
 * @param content
 * @param configSettings
 */
export declare const complexRubricChecks: (content: PieContent, configSettings?: {}) => {
    shouldAddComplexRubric?: undefined;
    shouldRemoveComplexRubric?: undefined;
    complexRubricElements?: undefined;
} | {
    shouldAddComplexRubric: boolean;
    shouldRemoveComplexRubric: number;
    complexRubricElements: string[];
};
/**
 * Removes complex-rubric html from markup.
 */
export declare const removeComplexRubricFromMarkup: (content: PieContent, complexRubricElements: string[], doc: any) => {
    markupWithoutComplexRubric: string;
    deletedComplexRubricItemIds: string[];
};
/**
 * Adds complex-rubric html to markup.
 * @param content
 */
export declare const addComplexRubric: (content: PieContent) => PieContent;
/**
 * Adds rubric html to markup.
 * @param content
 */
export declare const addRubric: (content: PieContent) => PieContent;
/**
 * Adds multi-trait-rubric html to markup.
 * @param content
 */
export declare const addMultiTraitRubric: (content: PieContent) => PieContent;
/**
 * Adds the provided package to the provided PieContent Object's `elements` and `models` properties.
 *
 * @param content the PieContent for rendering
 * @param packageToAdd the NPM Package to add to the content config
 * @param model optional the PieModel to add, `id` and `element` properties will be replaced by this function if present
 */
export declare const addPackageToContent: (content: PieContent, packageToAdd: any, model?: PieModel) => PieContent;
/**
 * Adds the provided model to the provided PieContent Object's `models` properties.
 *
 * @param content the PieContent for rendering
 * @param element the name of the package converted to element name
 * @param model optional the PieModel to add, `id` and `element` properties will be replaced by this function if present
 */
export declare const addModelToContent: (content: PieContent, element: string, model?: PieModel) => PieContent;
