import * as IShared from '../../../shared/interface'; import { UserTokens } from '../../../shared/entities/user'; export type Entity = UserTokens; export declare const Route = "user_token"; export declare const UpperName = "UserTokens"; export declare const LowerName: string; export type IFindRequest = Record; export interface IFindPaginatedRequest extends IFindRequest, IShared.IPaginationRequest { } export type IFindWithPaginationResponse = IShared.IPaginationResponse; export interface ICreateRequest { user_id: string; expires_date: Date; refresh_token: string; } export interface IUpdateRequest { consumed?: boolean; } export interface IRepository { findById(selector: IShared.IFindByIdRequest): Promise; findByToken(id: string): Promise; findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise; find(selector: IFindRequest): Promise; findPaginated(selector: IFindPaginatedRequest): Promise; generate(user_id: string): Promise; update(selector: IShared.IFindByIdRequest, data: IUpdateRequest): Promise; deleteOne(selector: IShared.IFindByIdRequest): Promise; } export type IApi = Omit; export type IController = IShared.IEntityWithUserToken;