import { UserQueryModel, UserRowModel, UserFormModel, PaginationModel } from '../types/user.types'; /** * Store 接口(localStorage 操作) */ export interface UserStore { getItem: (key: string) => string | null; setItem: (key: string, value: string) => void; removeItem: (key: string) => void; clear: () => void; } /** * Http 请求实例接口 */ export interface UserHttp { queryUserList: (params: UserQueryModel) => Promise; getUserDetail: (id: string | number) => Promise; createUser: (data: UserFormModel) => Promise; updateUser: (data: UserFormModel) => Promise; deleteUser: (id: string | number) => Promise; enableUser: (id: string | number) => Promise; disableUser: (id: string | number) => Promise; assignRoles: (userId: string | number, roleIds: string[]) => Promise; } /** * 配置项接口 */ export interface UserConfig { queryParamsKey?: string; [key: string]: any; } /** * 用户列表 composable */ export declare function useUserList(store: UserStore, http: UserHttp, config?: UserConfig): { loading: import('vue').Ref; userList: import('vue').Ref<{ [x: string]: any; id: string | number; username: string; tenantId?: string | number | undefined; status: number; createTime: string; updateTime?: string | undefined; roles?: { roleId: string | number; roleName: string; }[] | undefined; }[], UserRowModel[] | { [x: string]: any; id: string | number; username: string; tenantId?: string | number | undefined; status: number; createTime: string; updateTime?: string | undefined; roles?: { roleId: string | number; roleName: string; }[] | undefined; }[]>; queryParams: import('vue').Ref<{ [x: string]: any; username?: string | undefined; phone?: string | undefined; status?: number | undefined; page?: number | undefined; pageSize?: number | undefined; }, UserQueryModel | { [x: string]: any; username?: string | undefined; phone?: string | undefined; status?: number | undefined; page?: number | undefined; pageSize?: number | undefined; }>; pagination: import('vue').Ref<{ total: number; page: number; pageSize: number; }, PaginationModel | { total: number; page: number; pageSize: number; }>; loadUserList: () => Promise; handleSearch: (params: UserQueryModel) => Promise; handleReset: () => Promise; handleCreate: (data: UserFormModel) => Promise; handleUpdate: (data: UserFormModel) => Promise; handleDelete: (userId: string | number) => Promise; handleEnable: (userId: string | number) => Promise; handleDisable: (userId: string | number) => Promise; handlePageChange: (page: number, pageSize: number) => Promise; loadSavedQueryParams: () => void; };