import type { ADFEntity } from '@atlaskit/adf-utils/types';
import { UNSUPPORTED_CONTENT_LEVEL_SEVERITY } from './UNSUPPORTED_CONTENT_LEVEL_SEVERITY';
type UnsupportedContentLevelThresholds = {
    blocking: number;
    degraded: number;
};
export type UnsupportedContentLevelsTracking = {
    enabled: boolean;
    samplingRates?: {
        [key: string]: number;
    };
    thresholds?: Partial<UnsupportedContentLevelThresholds>;
};
/**
 * When given a valid ADF document, this function will return an information
 * object about the level of unsupported content in the document including:
 *
 * - counts: an object with the unsupportedNodes count and supportedNodes count.
 * - percentage: the percentage of unsupported nodes in the document relative to the rest
 * of the document content
 * - severity: The percentage mapped to a string value. This string will be either
 * "normal", "degraded" or "blocking" based on the threshold rules. (For e.g. if
 * `customThresholds = { degraded: 10, blocking: 30 }`, then a document with 9%
 * unsupported content will map to "normal", a document with 14% unsupported content
 * will map to "degraded" and a document with 33% unsupported content will map to "blocking".)
 *
 * **Example usage**
 *
 * ```
 * const exampleAdf = { type: 'doc', version: 1, content: [...] };
 * const customThresholds = { degraded: 30, blocking: 50 };
 * const data = getUnsupportedContentLevelData(exampleAdf, customThresholds);
 *
 * console.log(data.severity); // "normal"
 * console.log(data.counts.percentage); // 28
 * console.log(data.counts.unsupportedNodes); // 50
 * console.log(data.counts.supportedNodes); // 129
 * ```
 *
 */
export declare const getUnsupportedContentLevelData: (validDocument: ADFEntity, customThresholds: UnsupportedContentLevelsTracking["thresholds"]) => {
    severity: UNSUPPORTED_CONTENT_LEVEL_SEVERITY;
    percentage: number;
    counts: {
        supportedNodes: number;
        unsupportedNodes: number;
        unsupportedNodeTypeCount: Record<string, number>;
    };
};
export { UNSUPPORTED_CONTENT_LEVEL_SEVERITY } from './UNSUPPORTED_CONTENT_LEVEL_SEVERITY';
export { UNSUPPORTED_CONTENT_LEVEL_SEVERITY_THRESHOLD_DEFAULTS } from './UNSUPPORTED_CONTENT_LEVEL_SEVERITY_THRESHOLD_DEFAULTS';
