import { Permission } from '@pickerjs/common/lib/generated-types'; export interface PermissionDefinitionConfig { name: string; description?: string; assignable?: boolean; internal?: boolean; } export declare type PermissionMetadata = Required; export declare class PermissionDefinition { protected config: PermissionDefinitionConfig; constructor(config: PermissionDefinitionConfig); getMetadata(): PermissionMetadata[]; get Permission(): Permission; } export declare class CrudPermissionDefinition extends PermissionDefinition { private descriptionFn?; constructor(name: string, descriptionFn?: (operation: 'create' | 'read' | 'update' | 'delete') => string); getMetadata(): PermissionMetadata[]; get Create(): Permission; get Read(): Permission; get Update(): Permission; get Delete(): Permission; }