import { LoggerServiceInterface } from '../../../common/services';
import { CmsHelperInterface, CmsServiceInterface, MapBoolContentParams, MapContentFieldParams, MapTextLanguageFieldsParams, MapValueFromEnumParams } from '../interfaces';
import { Component, Page } from '../types';
import Mapper from './mapper';
declare abstract class BaseMapper extends Mapper {
    protected readonly cmsService: CmsServiceInterface;
    protected readonly cmsHelper: CmsHelperInterface;
    protected readonly loggerService: LoggerServiceInterface;
    protected readonly page: Page;
    constructor(cmsService: CmsServiceInterface, cmsHelper: CmsHelperInterface, loggerService: LoggerServiceInterface, page: Page);
    abstract generateComponent(): Promise<Component>;
    protected renderChildrenFromId(): Promise<Component[]>;
    protected renderChildren(): Promise<Component[]>;
    protected mapValueFromEnum<T>({ typeEnum, content, contentKey, keyPrefix, defaultKey, defaultValue, }: MapValueFromEnumParams): T;
    protected mapContentField<T>({ content, contentKey, defaultValue, returnFirstofArray, }: MapContentFieldParams<T>): T;
    protected mapBoolContent({ content, contentKey, defaultValue, }: MapBoolContentParams): boolean;
    protected mapTextLanguageFields<T = unknown>({ content, fieldsToMap, }: MapTextLanguageFieldsParams<T>): T;
    protected toPascalCase(value: string): string;
    private clearAndUpper;
}
export default BaseMapper;
