import type { IAuthorizationSpec } from '../../auth/authorize/common/types'; import type { ICustomizableRoutes } from '../common'; /** * Refuses a CRUD controller whose enabled write verb would inherit a controller-level `authorize` * that is only a `read` permission: the verb would then answer to anyone who may read. * * A write verb is fine when it declares its own `authorize` (a spec, an array, or `{ skip: true }`), * skips authentication, is not enabled, or the controller is `readonly`. Only the literal action * `read` is detected; a custom action name is the application's own vocabulary. An array counts when * every spec in it is `read`, since the specs of one route must all pass. */ export declare const assertWriteVerbsDeclareAuthorize: (opts: { controllerName: string; authorize: IAuthorizationSpec | IAuthorizationSpec[] | undefined; routes: ICustomizableRoutes | undefined; readonly: boolean | undefined; enabledRoutes: Array | undefined; }) => void; //# sourceMappingURL=authorize-guard.d.ts.map