import type { DMMF } from '@prisma/generator-helper';
import { TemplateHelpers } from './template-helpers';
import type { ImportStatementParams, Model, ParsedField } from './types';
export interface RelationInputResult {
    type: string;
    imports: ImportStatementParams[];
    generatedClasses: string[];
    apiExtraModels: string[];
}
interface GenerateRelationInputParam {
    field: DMMF.Field;
    model: Model;
    allModels: Model[];
    templateHelpers: TemplateHelpers;
    preAndSuffixClassName: TemplateHelpers['createDtoName'] | TemplateHelpers['updateDtoName'];
    canCreateAnnotation: RegExp;
    canConnectAnnotation: RegExp;
    addExposePropertyDecorator: boolean;
}
export declare class Helpers {
    static uniq<T>(input: T[]): T[];
    static concatIntoArray<T>(source: T[], target: T[]): void;
    static makeImportsFromPrismaClient(fields: ParsedField[]): ImportStatementParams | null;
    static mapDMMFToParsedField(field: DMMF.Field, overrides?: Partial<DMMF.Field>): ParsedField;
    static getRelationScalars(fields: DMMF.Field[]): Record<string, string[]>;
    static getRelationConnectInputFields({ field, allModels, }: {
        field: DMMF.Field;
        allModels: DMMF.Model[];
    }): Set<DMMF.Field>;
    static getRelativePath(from: string, to: string): string;
    static generateRelationInput(params: GenerateRelationInputParam): RelationInputResult;
    static mergeImportStatements(first: ImportStatementParams, second: ImportStatementParams): ImportStatementParams;
    static zipImportStatementParams(items: ImportStatementParams[]): ImportStatementParams[];
}
export {};
