import { Plugin } from '@tugraph/openpiece-server'; import { RoleResourceActionModel } from './model/RoleResourceActionModel'; import { RoleResourceModel } from './model/RoleResourceModel'; export interface AssociationFieldAction { associationActions: string[]; targetActions?: string[]; } interface AssociationFieldActions { [availableActionName: string]: AssociationFieldAction; } export interface AssociationFieldsActions { [associationType: string]: AssociationFieldActions; } export declare class GrantHelper { resourceTargetActionMap: Map; targetActionResourceMap: Map; constructor(); } export declare class PluginACL extends Plugin { associationFieldsActions: AssociationFieldsActions; grantHelper: GrantHelper; get acl(): any; registerAssociationFieldAction(associationType: string, value: AssociationFieldActions): void; registerAssociationFieldsActions(): void; writeResourceToACL(resourceModel: RoleResourceModel, transaction: any): Promise; writeActionToACL(actionModel: RoleResourceActionModel, transaction: any): Promise; writeRolesToACL(): Promise; beforeLoad(): Promise; install(): Promise; load(): Promise; } export default PluginACL;