export type {
  ConsentCategory,
  ConsentState,
  UserConsentState,
  ConsentGrantMeta,
} from "./consent-types";
export type { IConsent } from "./consent.interface";
export type { ConsentChecked } from "./with-consent";
export { withConsent } from "./with-consent";
export { InMemoryConsent } from "./in-memory-consent";
export { PayloadConsent } from "./payload-consent";
export { CONSENT_SYMBOLS } from "./di/symbols";
export {
  bindProductionConsent,
  type BindProductionConsentOpts,
  type ConsentFactory,
} from "./di/bind-production";
export { bindDevSeedConsent } from "./di/bind-dev-seed";
export {
  CONSENT_COOKIE_NAME,
  extractAnonymousConsent,
  migrateAnonymousConsent,
} from "./migration";
export { UnauthenticatedError } from "./entities/errors/consent";
export {
  grantHandler,
  grantHandlerInputSchema,
} from "./handlers/grant.handler";
export type { GrantHandlerInput } from "./handlers/grant.handler";
export {
  withdrawHandler,
  withdrawHandlerInputSchema,
} from "./handlers/withdraw.handler";
export type { WithdrawHandlerInput } from "./handlers/withdraw.handler";
export {
  isGrantedHandler,
  isGrantedHandlerInputSchema,
} from "./handlers/is-granted.handler";
export type { IsGrantedHandlerInput } from "./handlers/is-granted.handler";
export { getCategoriesHandler } from "./handlers/get-categories.handler";
export { consentRouter } from "./consent.router";
export type { ConsentRouter, ConsentRouterContext } from "./consent.router";
