import type { ApplicationService } from '@adonisjs/core/types'; import type { BouncerEvents } from '../src/types.ts'; declare module '@adonisjs/core/types' { interface EventsList extends BouncerEvents { } } /** * AdonisJS service provider for the Bouncer package. This provider handles * the registration of Edge template tags and configures the event emitter * for authorization events. * * The provider automatically: * - Registers @can and @cannot Edge template tags when Edge.js is available * - Configures the Bouncer to use the application's event emitter * * @example * ```js * // The provider is automatically registered in AdonisJS * // No manual setup required - it runs during application boot * ``` */ export default class BouncerProvider { protected app: ApplicationService; /** * Create a new BouncerProvider instance * * @param app AdonisJS application service instance */ constructor(app: ApplicationService); /** * Boot the bouncer provider. This method is called during application * startup and handles the registration of Edge plugins and event emitter * configuration. * * @example * ```js * // Called automatically by AdonisJS during boot process * await provider.boot() * ``` */ boot(): Promise; }