import type { Accountability, PermissionsAction, PrimaryKey } from '@directus/types';
import type { Context } from '../../../types.js';
export interface ValidateItemAccessOptions {
    accountability: Accountability;
    action: PermissionsAction;
    collection: string;
    primaryKeys: PrimaryKey[];
    fields?: string[];
    returnAllowedRootFields?: boolean;
}
export interface ValidateItemAccessOptionsWithRootFields extends ValidateItemAccessOptions {
    returnAllowedRootFields: true;
}
export interface ValidateItemAccessResult {
    accessAllowed: boolean;
    allowedRootFields?: string[];
}
export interface ValidateItemAccessResultWithRootFields extends ValidateItemAccessResult {
    allowedRootFields: string[];
}
export declare function validateItemAccess(options: ValidateItemAccessOptionsWithRootFields, context: Context): Promise<ValidateItemAccessResultWithRootFields>;
export declare function validateItemAccess(options: ValidateItemAccessOptions, context: Context): Promise<ValidateItemAccessResult>;
