import { Audit, IAudit } from './audit'; export interface SkUserCount { total?: number; trash?: number; } export declare enum SkUserRoleName { Admin = "ROLE_ADMIN", Developer = "ROLE_DEVELOPER", Manager = "ROLE_MANAGER", User = "ROLE_USER", Dealer = "ROLE_DEALER", Leave = "ROLE_LEAVE", Affiliate = "ROLE_AFFILIATE" } export interface ISkUserRole { name: SkUserRoleName; } export interface ISkUser extends IAudit { id?: number; email?: string; nickname?: string; emailValid?: boolean; roles?: ISkUserRole[]; } export declare class SkUser extends Audit { id: number; email: string; nickname: string; emailValid: boolean; roles: ISkUserRole[]; roleNames: SkUserRoleName[]; constructor(data?: ISkUser); hasRole(role: SkUserRoleName): boolean; hasRoleFromArray(roles?: SkUserRoleName[]): boolean; isEmpty(): boolean; isAnonymous(): boolean; isAdmin(): boolean; isDeveloper(): boolean; isManager(): boolean; isDealer(): boolean; isUser(): boolean; isAdminAccessable(): boolean; } export interface SkUserSignup { email: string; password: string; passwordConfirm: string; nickname: string; } export interface ISkAuthor { id?: number; nickname?: number; email?: number; }