import { MethodCallArgs } from '../../../server/v1/MethodCallArgs'; import { IResource } from '../../../resource/v1/IResource'; export declare type PrivilegeManagerCallback = (error: Error, hasAccess: boolean) => void; export declare type PrivilegeManagerMethod = (arg: MethodCallArgs, resource: IResource, callback: PrivilegeManagerCallback) => void; export declare type BasicPrivilege = 'all' | 'canCreate' | 'canDelete' | 'canMove' | 'canRename' | 'canAppend' | 'canWrite' | 'canRead' | 'canSource' | 'canGetMimeType' | 'canGetSize' | 'canListLocks' | 'canSetLock' | 'canRemoveLock' | 'canGetAvailableLocks' | 'canGetLock' | 'canAddChild' | 'canRemoveChild' | 'canGetChildren' | 'canSetProperty' | 'canGetProperty' | 'canGetProperties' | 'canRemoveProperty' | 'canGetCreationDate' | 'canGetLastModifiedDate' | 'canGetWebName' | 'canGetType'; export declare function requirePrivilege(privilege: string | BasicPrivilege | string[] | BasicPrivilege[], arg: MethodCallArgs, resource: IResource, callback: PrivilegeManagerCallback): void; export interface IPrivilegeManager { canCreate: PrivilegeManagerMethod; canDelete: PrivilegeManagerMethod; canMove: PrivilegeManagerMethod; canRename: PrivilegeManagerMethod; canAppend: PrivilegeManagerMethod; canWrite: PrivilegeManagerMethod; canRead: PrivilegeManagerMethod; canSource: PrivilegeManagerMethod; canGetMimeType: PrivilegeManagerMethod; canGetSize: PrivilegeManagerMethod; canListLocks: PrivilegeManagerMethod; canSetLock: PrivilegeManagerMethod; canRemoveLock: PrivilegeManagerMethod; canGetAvailableLocks: PrivilegeManagerMethod; canGetLock: PrivilegeManagerMethod; canAddChild: PrivilegeManagerMethod; canRemoveChild: PrivilegeManagerMethod; canGetChildren: PrivilegeManagerMethod; canSetProperty: PrivilegeManagerMethod; canGetProperty: PrivilegeManagerMethod; canGetProperties: PrivilegeManagerMethod; canRemoveProperty: PrivilegeManagerMethod; canGetCreationDate: PrivilegeManagerMethod; canGetLastModifiedDate: PrivilegeManagerMethod; canGetWebName: PrivilegeManagerMethod; canGetType: PrivilegeManagerMethod; } export declare function hasNoWriteLock(arg: MethodCallArgs, resource: IResource, callback: PrivilegeManagerCallback): void;