import { SelectRowShape } from 'oak-domain/lib/types'; import { GetApplicationShape, GetTokeShape, RuntimeContext } from './RuntimeContext'; import { EntityDict } from '../general-app-domain'; import { SerializedData } from './FrontendRuntimeContext'; import { UniversalContext } from 'oak-domain/lib/store/UniversalContext'; export declare type GetTokeShape2 = { id: 1; userId: 1; playerId: 1; ableState: 1; player: { id: 1; userState: 1; userRole$user: { $entity: 'userRole'; data: { id: 1; userId: 1; roleId: 1; }; }; }; }; /** * general数据结构要求的后台上下文 */ export declare class BackendRuntimeContext extends UniversalContext implements RuntimeContext { private application?; private token?; private amIRoot?; private rootMode?; protected initialize(data?: SerializedData): Promise; getApplicationId(): Promise<("id" extends infer T ? T extends "id" ? T extends keyof ED["application"]["Schema"] ? GetApplicationShape[T] extends 1 | undefined ? ED["application"]["Schema"][T] : GetApplicationShape[T] extends import("oak-domain/lib/types").OtmSubProjection ? never[] | SelectRowShape[T][0], GetApplicationShape[T]["data"]>[] : T extends import("oak-domain/lib/types").OptionalKeys ? SelectRowShape[T]>, GetApplicationShape[T]> | null : SelectRowShape[T]>, GetApplicationShape[T]> : never : never : never) | undefined>; getSystemId(): Promise<("systemId" extends infer T ? T extends "systemId" ? T extends keyof ED["application"]["Schema"] ? GetApplicationShape[T] extends 1 | undefined ? ED["application"]["Schema"][T] : GetApplicationShape[T] extends import("oak-domain/lib/types").OtmSubProjection ? never[] | SelectRowShape[T][0], GetApplicationShape[T]["data"]>[] : T extends import("oak-domain/lib/types").OptionalKeys ? SelectRowShape[T]>, GetApplicationShape[T]> | null : SelectRowShape[T]>, GetApplicationShape[T]> : never : never : never) | undefined>; getApplication(): Promise | undefined>; getTokenValue(allowUnloggedIn?: boolean): Promise<"oak-root-token" | ("id" extends infer T ? T extends "id" ? T extends keyof ED["token"]["Schema"] ? GetTokeShape[T] extends 1 | undefined ? ED["token"]["Schema"][T] : GetTokeShape[T] extends import("oak-domain/lib/types").OtmSubProjection ? never[] | SelectRowShape[T][0], GetTokeShape[T]["data"]>[] : T extends import("oak-domain/lib/types").OptionalKeys ? SelectRowShape[T]>, GetTokeShape[T]> | null : SelectRowShape[T]>, GetTokeShape[T]> : never : never : never) | undefined>; getToken(allowUnloggedIn?: boolean): Promise | undefined>; getCurrentUserId(allowUnloggedIn?: boolean): Promise; toString(): Promise; isRoot(allowUnloggedIn?: boolean): Promise; }