import type { Request, RequestHandler } from "express"; import type { AccessCapability, AccessSubject } from "../../types/index.js"; /** * Builds an Express guard that requires an access capability. * * The project ships no auth provider, so the subject is resolved by the * caller (JWT, session, API key…). Return `null` from `resolveSubject` for * anonymous requests — they get a 401; authenticated but not allowed gets 403. * * Plugs into any router that accepts a `guard`, e.g. the assistant adapter: * * @example * ```ts * useStartAssistant(3000, "localhost", "/assistant", { * guard: useRequireCapability("conversations:use", (request) => request.account ?? null), * }); * ``` */ export declare function useRequireCapability(capability: AccessCapability, resolveSubject: (request: Request) => AccessSubject | null): RequestHandler; //# sourceMappingURL=access.guard.d.ts.map