import { ResourceMeta } from "../../core/resource-meta";
import { CrudUpdateConfig, ResourceForUpdate } from "../meta-core/crud/crud-update-config";
import { GenericCrudResult, CrudResult } from "../../../../fd-toolbox/types/crud/crud-result";
import { WithId } from "../../../../fd-toolbox-core/types/resource-with-id";
import { CrudDeleteConfig } from "../meta-core/crud/crud-delete-config";
export declare function checkMirrorManyToManyResource(resourceMeta: ResourceMeta, resource: WithId): void;
export declare function validateAndDeleteResource(crudDeleteConfig: CrudDeleteConfig, crudResult: CrudResult, resourceMeta: ResourceMeta): Promise<void>;
export declare function handleViolationForeignKeyConstraint(error: unknown, crudDeleteConfig: CrudDeleteConfig): void;
export declare function getResourceForCreation(resource: WithId, resourceMeta: ResourceMeta, userId: string, isCalledFromOutside?: boolean): Promise<WithId>;
export declare function doNotAllowToChangeWorkspaceId(crudServiceResult: GenericCrudResult<WithId>, modifiedResource: WithId, originalResource?: WithId): Promise<void>;
export declare function modifyResourceFromDatabase(resource: WithId, resourceMeta: ResourceMeta, userId: string, isCalledFromOutside: boolean): Promise<WithId>;
export declare function prepareResourceBeforeUpdate(crudUpdateConfig: CrudUpdateConfig<ResourceForUpdate>): Promise<void>;
export declare function getCrudUpdateConfigFromProp<T extends ResourceForUpdate>(crudUpdateConfigProp: CrudUpdateConfig<T>): {
    throwOnNonSuccess: boolean;
    isCalledFromOutside: boolean;
    resourceName: string;
    resource: T;
    propertyRelationSyncInfos?: import("../../../../../generated/npm-package").PropertyRelationSyncInfo[];
    isCreate?: boolean;
    isUpsert?: boolean;
    userId?: string;
};
