import { Knex } from 'knex'; import { AbstractServiceOptions, AST, Item, PrimaryKey } from '../types'; import { PermissionsAction, Accountability, SchemaOverview } from '@directus/shared/types'; import { PayloadService } from './payload'; export declare class AuthorizationService { knex: Knex; accountability: Accountability | null; payloadService: PayloadService; schema: SchemaOverview; constructor(options: AbstractServiceOptions); processAST(ast: AST, action?: PermissionsAction): Promise; /** * Checks if the provided payload matches the configured permissions, and adds the presets to the payload. */ validatePayload(action: PermissionsAction, collection: string, data: Partial): Partial; checkAccess(action: PermissionsAction, collection: string, pk: PrimaryKey | PrimaryKey[]): Promise; }