/**
 * 定义接口来定义对象的类型
 * `stores` 全部类型定义在这里
 */
declare interface UserInfosState {
	authBtnList: string[];
	photo: string;
	token?: string;
	id: string;
	name: string;
	phoneNo: string;
	staffNo?: string;
	defaultTelNo?: string;
	defaultTelGroup: string;
	deletionTime?: string;
	isDeleted?: boolean;
	showTelControl: boolean;
	orgName: string;
	roles: string[];
	account: string;
	isCenter: boolean;
	monitor: boolean;
	encryptionHeader: string;
}
declare interface UserInfosStates {
	userInfos: UserInfosState;
}

// 路由缓存列表
declare interface KeepAliveNamesState {
	keepAliveNames: string[];
	cachedViews: string[];
}

// 后端返回原始路由(未处理时)
declare interface RequestOldRoutesState {
	requestOldRoutes: string[];
}

// TagsView 路由列表
declare interface TagsViewRoutesState {
	tagsViewRoutes: string[];
	isTagsViewCurrenFull: Boolean;
}

// 路由列表
declare interface RoutesListState {
	routesList: string[];
	isColumnsMenuHover: Boolean;
	isColumnsNavHover: Boolean;
}

// 布局配置
declare interface ThemeConfigState {
	isDrawer: boolean;
	primary: string;
	topBar: string;
	topBarColor: string;
	isTopBarColorGradual: boolean;
	menuBar: string;
	menuBarColor: string;
	isMenuBarColorGradual: boolean;
	columnsMenuBar: string;
	columnsMenuBarColor: string;
	isColumnsMenuBarColorGradual: boolean;
	isColumnsMenuHoverPreload: boolean;
	isCollapse: boolean;
	isUniqueOpened: boolean;
	isFixedHeader: boolean;
	isFixedHeaderChange: boolean;
	isClassicSplitMenu: boolean;
	isLockScreen: boolean;
	isShowLogo: boolean;
	isShowLogoChange: boolean;
	isBreadcrumb: boolean;
	isTagsview: boolean;
	isBreadcrumbIcon: boolean;
	isTagsviewIcon: boolean;
	isCacheTagsView: boolean;
	isSortableTagsView: boolean;
	isShareTagsView: boolean;
	isFooter: boolean;
	isGrayscale: boolean;
	isInvert: boolean;
	isIsDark: boolean;
	tagsStyle: string;
	animation: string;
	columnsAsideStyle: string;
	columnsAsideLayout: string;
	layout: string;
	isRequestRoutes: boolean;
	globalTitle: string;
	globalViceTitle: string;
	globalI18n: string;
	globalComponentSize: string;
	loginImage: string;
	isLoginMessageCode: boolean;
	appScope: string;
	callCenterType: string;
	cityName: string;
	cityCode: string;
	cityAbbr: string;
	locationCenter: number[];
	operate: string;
	techSupport: string; // 技术支撑 页脚
	recordNumber: string; // 备案号
	faviconImage: string; // favicon
	menuLogoImage: string; // 菜单logo
	menuLogoImageMini: string; // 菜单logo-mini
	changPwdImage: string; //修改密码图片
	callCenterSocketUrl: string; // 呼叫中心socket地址
	recordPrefix: string; // 录音播放前缀
	recordDownLoadPrefix: string; // 录音下载前缀
	[x: string]: any;
}
declare interface ThemeConfigStates {
	themeConfig: ThemeConfigState;
}
declare interface AppConfigState {
	AppConfigInfo: {
		isRestApproval: boolean; // 电话控件小休是否要进行审批
		talkingDealTime: number; // 呼叫中心事后处理时间
		isNeedTelNo: boolean; // 分机签入是否需要选择号码
		isTelNeedVerify: boolean; // 分机签入是否需要输入密码
		isCustomEvent: boolean; // 是否开启自定义事件
		isTranspondCity: boolean; // 是否开启市州互转
		isAverageSendOrder: boolean; // 是否开启平均派单
		noSignOrgCode: Array<string>; // 不需要会签的机构
		isOpenRepeatedWorkOrders: boolean; // 是否开启重复工单
		applyDelayTime: number | string; // 申请延期最大限制
		oldHotlineUrl: string; // 老系统的跳转地址
		nationalPlatformWordLimit: string | number; //  国家政务服务平台的发布整理字数限制
		handleOpinionWordLimit: string | number; //  办理意见字数限制
		callInOpenType: string | number; // 电话呼入弹单方式  1：接通弹屏  2：振铃弹屏
		snapshot: boolean; // 随手拍开关
		fileExt: string;
		[x: string]: any;
	};
}
