import { String, Text, Datetime, Boolean } from 'oak-domain/lib/types/DataType'; import { Schema as User } from './User'; import { Schema as WechatQrCode } from './WechatQrCode'; import { QrCodeType } from '../types/Config'; import { EntityDesc } from 'oak-domain/lib/types/EntityDesc'; import { Schema as UserEntityGrant } from 'oak-domain/lib/entities/UserEntityGrant'; export type RedirectToProps = { pathname: string; props?: Record; state?: Record; isTabBar?: boolean; }; type Rule = 'single' | 'all' | 'free'; export interface Schema extends UserEntityGrant { entity: String<32>; entityId: String<64>; type: 'grant' | 'transfer'; rule: Rule; ruleOnRow: Rule; multiple?: Boolean; remark?: Text; granter: User; codes: Array; qrCodeType: QrCodeType; expiresAt?: Datetime; expired?: Boolean; redirectTo?: RedirectToProps; claimUrl: String<128>; } export type Action = 'claim' | 'disable'; export declare const entityDesc: EntityDesc; export {};