import { GraphQLSchema } from "graphql"; import { PermaskGroup, PermissionAccess } from "@silgi/permission/types"; //#region src/types/directives.d.ts /** * Permission directive configuration for GraphQL fields */ interface PermissionDirective { or?: Array<{ group: PermaskGroup; permission: keyof PermissionAccess; }>; and?: Array<{ group: PermaskGroup; permission: keyof PermissionAccess; }>; } /** * Transformer function type for GraphQL schema directives */ type DirectiveTransformer = (schema: GraphQLSchema, directiveName?: string) => GraphQLSchema; //#endregion export { DirectiveTransformer, PermissionDirective };