import { RoleQueryModel, RoleRowModel, RoleFormModel, PaginationModel } from '../types/role.types'; /** * Store 接口(localStorage 操作) */ export interface RoleStore { getItem: (key: string) => string | null; setItem: (key: string, value: string) => void; removeItem: (key: string) => void; clear: () => void; } /** * Http 请求实例接口 */ export interface RoleHttp { queryRoleList: (params: RoleQueryModel) => Promise; createRole: (data: RoleFormModel) => Promise; updateRole: (data: RoleFormModel) => Promise; deleteRole: (id: string | number) => Promise; getRoleDetail: (id: string | number) => Promise; enableRole: (id: string | number) => Promise; disableRole: (id: string | number) => Promise; } /** * 配置项接口 */ export interface RoleConfig { queryParamsKey?: string; [key: string]: any; } /** * 角色列表 composable */ export declare function useRoleList(store: RoleStore, http: RoleHttp, config?: RoleConfig): { loading: import('vue').Ref; roleList: import('vue').Ref<{ [x: string]: any; id: string | number; roleName: string; roleCode: string; roleDesc?: string | undefined; sort?: number | undefined; tenantId?: string | number | undefined; status?: number | undefined; createTime: string; updateTime?: string | undefined; }[], RoleRowModel[] | { [x: string]: any; id: string | number; roleName: string; roleCode: string; roleDesc?: string | undefined; sort?: number | undefined; tenantId?: string | number | undefined; status?: number | undefined; createTime: string; updateTime?: string | undefined; }[]>; queryParams: import('vue').Ref<{ [x: string]: any; roleName?: string | undefined; roleCode?: string | undefined; status?: number | undefined; page?: number | undefined; pageSize?: number | undefined; }, RoleQueryModel | { [x: string]: any; roleName?: string | undefined; roleCode?: 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; }>; loadRoleList: () => Promise; handleSearch: (params: RoleQueryModel) => Promise; handleReset: () => Promise; handleCreate: (data: RoleFormModel) => Promise; handleUpdate: (data: RoleFormModel) => Promise; handleDelete: (roleId: string | number) => Promise; handleEnable: (roleId: string | number) => Promise; handleDisable: (roleId: string | number) => Promise; handlePageChange: (page: number, pageSize: number) => Promise; loadSavedQueryParams: () => void; };