import type { Context, CollectionProps, CollectionReadPayload, CollectionWritePayload } from '@aeriajs/types'; import type { ReadMiddlewareReturn, WriteMiddlewareReturn } from '../types.js'; import { Result } from '@aeriajs/types'; export declare const checkImmutabilityRead: (props: Result.Result>, context: Context, next: (payload: typeof props, context: Context) => ReadMiddlewareReturn>) => Promise<{ readonly _tag: "Error"; readonly error: "RESOURCE_NOT_FOUND" | "TARGET_IMMUTABLE"; readonly result: undefined; } | Result.Either<"OWNERSHIP_ERROR" | "INVALID_LIMIT", CollectionProps>>; export declare const checkImmutabilityWrite: (props: Result.Result>, context: Context, next: (payload: typeof props, context: Context) => WriteMiddlewareReturn>) => Promise>>;