/// <reference types="@adonisjs/application/build/adonis-typings/application" />
import { ApplicationContract } from '@ioc:Adonis/Core/Application';
/**
 * Auth provider to register the auth binding
 */
export default class AuthProvider {
    protected application: ApplicationContract;
    constructor(application: ApplicationContract);
    static needsApplication: boolean;
    /**
     * Register auth binding
     */
    register(): void;
    /**
     * Sharing the auth object with HTTP context
     */
    protected registerAuthWithHttpContext(): void;
    /**
     * Sharing auth with all the templates
     */
    protected shareAuthWithViews(): void;
    /**
     * Register test bindings
     */
    protected registerTestBindings(): void;
    /**
     * Hook into boot to register auth macro
     */
    boot(): Promise<void>;
}
