import { Class } from '#di'; import { CanActivate } from '#types/mix.js'; /** * This factory creates a helper that makes it easier to work with guards that have parameters. * * ### An example of creating a helper * ```ts import { createHelperForGuardWithParams } from '@ditsmod/core'; import { Permission } from './types.js'; export const requirePermissions = createHelperForGuardWithParams(PermissionsGuard); ``` * * ### Usage * ```ts import { controller, Res, route } from '@ditsmod/core'; import { requirePermissions } from '../auth/guards-utils.js'; import { Permission } from '../auth/types.js'; @controller() export class SomeController { @route('GET', 'administration', [requirePermissions(Permission.canActivateAdministration)]) helloAdmin(res: Res) { res.send('some secret'); } } ``` */ export declare function createHelperForGuardWithParams(Guard: Class): (args_0: T, ...args_1: T[]) => [Class, T, ...T[]]; //# sourceMappingURL=create-helper-for-guards-with-params.d.ts.map