import { PropertyMeta } from "../../core/property-meta";
import { ResourceMeta } from "../../core/resource-meta";
import { ValidationResult } from "../../../../fd-toolbox/types/validations/validation-result";
import { ValidationDetailResult } from "../../../../fd-toolbox/types/validations/validation-detail-result";
import { WithId } from "../../../../fd-toolbox-core/types/resource-with-id";
export declare function validateResource<T extends WithId>(resource: T, resourceMeta: ResourceMeta): Promise<ValidationResult>;
export declare function validateId(resourceId: string): ValidationResult;
/** @internal */
export declare function createValidationDetailResult(message: string, userFriendlyMessage: string, propertyName: string, code: number): ValidationDetailResult;
export declare function checkEnumPropertyType(propertyMeta: PropertyMeta, validationResult: ValidationResult, value?: unknown): void;
export declare function checkManyToOneRelationId(propertyMeta: PropertyMeta, validationResult: ValidationResult, value: unknown): Promise<void>;
