import { LayoutType } from '@20minutes/hela';
import { Prefix } from '../types/helpers';
export type CommonTemplateActivators = 'Ads' | 'BlockLinks';
export declare abstract class PageManager<PageProps = Record<string, unknown>, SelectedProps extends keyof PageProps = keyof PageProps, PageFeatures extends string | null = string, PageContent = string> {
    protected data: Pick<PageProps, SelectedProps>;
    protected layout: LayoutType;
    protected templateActivators: {
        enableDisplayOnHeaderAd: boolean;
        enableAudion: boolean;
        enableSponsoredContents: boolean;
        enableNewsletter: boolean;
    } & Record<NonNullable<Prefix<"enable", PageFeatures>>, boolean>;
    protected constructor({ data, layout, templateActivators, }: {
        data: Pick<PageProps, SelectedProps>;
        layout: LayoutType;
        templateActivators: Record<NonNullable<Prefix<'enable', PageFeatures>>, boolean>;
    });
    abstract transformContent(): PageContent;
    abstract resolveTemplating(): void;
    resolve(): {
        content: PageContent;
        templateActivators: {
            enableDisplayOnHeaderAd: boolean;
            enableAudion: boolean;
            enableSponsoredContents: boolean;
            enableNewsletter: boolean;
        } & Record<NonNullable<Prefix<"enable", PageFeatures>>, boolean>;
    };
}
