import type { HttpContext } from '@adonisjs/core/http';
import { Constructor } from '@adonisjs/core/types/common';
import '@akago/vine-lucid';
import { AKUserModel } from '../auth/user/user.js';
import { AKVineRequestData } from '../crud/vine_validate_middleware.js';
import { AKDeviceTokenService } from './device_token_service.js';
export type AKDeviceTokenController = {
    assign({ auth }: HttpContext, { type, token }: AKVineRequestData): Promise<void>;
    unassign({ auth }: HttpContext, { token }: AKVineRequestData): Promise<void>;
    list({ auth }: HttpContext): Promise<{
        type: string;
        token: string;
    }[]>;
    test({ auth }: HttpContext): Promise<void>;
};
export declare const deviceTokenController: <UserModel extends typeof AKUserModel>(deviceTokenServiceClass: Constructor<AKDeviceTokenService<UserModel>>) => Constructor<AKDeviceTokenController>;
