export declare enum UserExtraPermissions { VIEW_ALL_ORDER = 0 } export interface IResourceImporter { name: string; id: number; } export declare enum EnumAction { View = "view", Create = "create", Edit = "edit", Delete = "delete", Assign = "assign", Export = "export" } export interface Permission { id: number; name: string; description: string; group_module: string; code_group_module: string; actions: EnumAction[]; code_permission: string; created_time?: Date; updated_time?: Date; } export interface PermissionOfRole { feature: Permission; actions: EnumAction[]; } export declare enum EnumRole { OWNER = "owner", LEADER_SELLER = "leader_seller", SELLER = "seller", ACCOUNTANT = "accountant", RESOURCE = "resource" } export declare enum EnumGender { OTHER = 0, MALE = 1, FEMALE = 2 } export interface Role { id?: EnumRole; name?: string; description?: string; permission_of_staff?: PermissionOfRole[]; is_active?: boolean; can_update?: boolean; created_by?: Date; updated_by?: Date; created_time?: Date; updated_time?: Date; } export interface UserPackage { leader: string; shop_limit: number; shop_used: number; price_per_shop: number; package_detail: { name: string; shop_limit: number; description: string; price_per_shop: number; slug: string; permission: string[]; level: number; is_active: boolean; }; buy_at: string; expire_at: string; created_time?: Date; updated_time?: Date; permission: string[]; } export interface User { email: string; password: string; phone_number?: string; first_name: string; last_name: string; full_name: string; gender?: EnumGender; date_of_birth?: Date; avatar?: string; active_code?: string; reset_password_code?: string; is_active?: boolean; is_verified_email?: boolean; login_counter?: number; last_login_ip?: string; last_login?: Date; timezone?: string; sku_prefix: string; kiki_api_key?: string; sku_counter: number; role: Role[]; owner: User; created_by?: User; invite_by?: User; partner_id?: string; resource_importer: IResourceImporter; created_time?: Date; updated_time?: Date; credit?: number; api_key?: string; package?: UserPackage; identifier?: string; is_kbt_user: boolean; affiliate_data: { commission_rate: number; commission_received: number; commission_rates?: { commission_type: string; value: number; }[]; }; social_data: { telegram: string; facebook?: string; twitter?: string; }; telegram_config?: { enabled: boolean; bot_token: string; chat_id: string; }; extra_permissions?: UserExtraPermissions[]; }