import { JSONOutput, ProjectReflection } from 'typedoc';
import { DefaultThemeRenderContext } from 'typedoc';
import { YAFDataObject } from '../types/types';
/**
 * Serialises the standard TypeDoc data output into `typedoc-theme-yaf` frontend compatible data.
 */
export declare class YafSerialiser {
    /**
     * An array of serialised data objects, each of which is the data for a page in the documentation frontend.
     */
    dataObjectArray: YAFDataObject[];
    /**
     *
     * @param object The TypeDoc JSONOutput.ProjectReflection before it gets serialised.
     * @param reflection The Typedoc ProjectReflection.
     * @param context The `typedoc-theme-yaf` modified render context.
     */
    constructor(object: JSONOutput.ProjectReflection, reflection: ProjectReflection, context: DefaultThemeRenderContext);
    /**
     * A collection of static data serialiser methods
     *
     * @group Factories
     */
    private static serialiseFactory;
    /**
     * A collection of methods which perform data serialisations by means of data mutation for various good enough reasons.
     *
     * @group Factories
     */
    private static mutationFactory;
    /**
     * A collection of high high level methods to parse the standard TypeDoc data into the desired `typedoc-theme-yaf` outputs.
     *
     * @group Factories
     */
    private static parserFactory;
    /**
     * Ladies and Gents, hang onto your purses and wallets caus' the fixer is gonna fix your
     * standard typeDoc JSON into a super recursive frontend object!!
     *
     * @group Factories
     */
    private static fixerFactory;
    /**
     * A collection of utility methods to report on data.
     *
     * @group Factories
     */
    private static utilities;
    /**
     * A list of the kinds of reflections which will generate their own document page in the front-end.
     */
    private static hasOwnPage;
}
