import type { TemplateHelpers } from '../helpers/template-helpers';
import type { Model, ImportStatementParams, ParsedField } from '../types';
import { Helpers } from '../helpers/helpers';
import type { FieldProcessingConfig, FieldProcessingResult } from './shared';
import { FieldProcessor } from './shared';
export declare abstract class BaseModelParamsComputer {
    protected readonly templateHelpers: TemplateHelpers;
    protected readonly customDecoratorConfigsPath?: string | undefined;
    protected readonly fieldProcessor: FieldProcessor;
    protected readonly helpers: Helpers;
    constructor(templateHelpers: TemplateHelpers, customDecoratorConfigsPath?: string | undefined);
    protected abstract getFieldConfig(): FieldProcessingConfig;
    protected hasApiPropertyDoc(fields: ParsedField[]): boolean;
    protected processModelFields(model: Model, allModels: Model[], addExposePropertyDecorator?: boolean): FieldProcessingResult;
    protected finalizeImports(imports: ImportStatementParams[], fields: ParsedField[], hasApiExtraModels: boolean, hasEnum: boolean): ImportStatementParams[];
    protected abstract computeParams(model: Model, allModels: Model[], addExposePropertyDecorator?: boolean): unknown;
}
