import { EndUserRoles } from "src/common/interfaces";
import type { UserJwtPayload } from "src/common/interfaces";
import type { InternalCustodialService } from "src/shared/custodial/internalCustodial.service";
import type { OnChainFieldDTO } from "src/shared/dto/on-chain-field.dto";
import type { UserDocument } from "src/user/schemas/user.schema";
export interface IOnboardUser {
onBoardedByRole: "admin" | EndUserRoles.dealer;
newUserRole: EndUserRoles;
newUser: UserDocument;
userJwtPayload: UserJwtPayload;
internalCustodialService: InternalCustodialService;
onChainFields: OnChainFieldDTO[];
dealerId?: string;
dealerAddressSubmitter?: string;
}
export interface IAddInvestor {
signerKey: string;
id: string;
userAddress: string;
onChainFields: OnChainFieldDTO[];
dealerId: string;
onBoardedByRole: "admin" | EndUserRoles.dealer;
}
export interface IAssociateAuthToken {
userSession: string;
email: string;
}