import { IGroup, IGroupPropertiesConfig } from "../user/group"; export interface IRoleBase { id: number; name: string; permission: P; groupId: number | null; group: IGroup | null; objId: Id | null; obj: T | null; } export interface IRoleBaseCreateInput { name: string; permission: P; groupId: number; objId: Id; } export interface IRoleBaseUpdateInput { id: number; name?: string; permission?: P; groupId?: number; objId?: Id; } export interface IRoleBaseProperties { id?: boolean; name?: boolean; permission?: boolean; groupId?: boolean; objId?: boolean; } export interface IRoleBaseRelationProperties { group?: IGroupPropertiesConfig; obj?: TPC; permission?: PPC; } export interface IRoleBasePropertiesConfig { properties: IRoleBaseProperties; relationProperties?: IRoleBaseRelationProperties; } export interface IRoleBaseDeleteInput { id: number; } export declare function defaultRoleBaseProperties

(): IRoleBaseProperties; export declare function defaultRoleBaseRelationProperties(defaultPermissionPropertiesConfig: () => PPC): IRoleBaseRelationProperties; export declare function defaultRolePropertiesConfig(defaultPermissionPropertiesConfig: () => PPC): IRoleBasePropertiesConfig;