import '@ithinkdt/app'

import '@ithinkdt/page'

/** 应用模块 */
declare module '@ithinkdt/app' {
    interface AppModuleBase {
        /** 资源键 */
        moduleKey: string
    }

    interface AppModuleView extends AppModuleBase {
        /** 模块的命名空间 */
        namespace?: string | undefined
        /** 是否低代码视图 */
        isLowcode?: boolean | undefined
        /** 低代码资源 key */
        lcKey?: string
        /** 是否远端视图 */
        isRemote?: boolean | undefined
        /** 远端入口 */
        remoteEntry?: string | undefined
        /** 是否外部网页 */
        isExternal?: boolean | undefined
        /** 外部网页链接 */
        externalLink?: string | undefined
        /** 外部网页是否嵌入应用 */
        externalEmbed?: boolean | undefined
    }
}

declare module '@ithinkdt/page' {
    interface PresetDataSourceOptions {
        keyField: 'id'
        defaultSortField: 'updateDate'
    }
}
