/** import types */ import type { PARAMS_SHARE_CARD, PARAMS_SHARE_LIVE, PARAMS_POPUP_BOT, PARAMS_PAYMENT, PARAMS_SNAPSHOTS, PARAMS_WITHDRAWAL, PARAMS_ADDRESS_ADD, PARAMS_ADDRESS_DELETE } from './scheme'; import type { AUTH } from './token'; import type { TlogLevelStr } from 'peeler-js/es/logger'; interface Config { client_id?: string; debug?: boolean; logLevel?: TlogLevelStr; } declare const SUPPORT_APIS: { address_add: boolean; address_del: boolean; conversation: boolean; getContext: boolean; getUserInfo: boolean; login: boolean; logout: boolean; payment: boolean; playlist: boolean; popup_user: boolean; popup_bot: boolean; reloadTheme: boolean; requestToken: boolean; share_text: boolean; share_image: boolean; share_contact: boolean; share_app_card: boolean; share_live: boolean; share_post: boolean; showToast: boolean; snapshot: boolean; transfer: boolean; withdrawal: boolean; }; export declare class Bridge { private config?; private _token?; private _userInfo?; private logger; constructor(config?: Config); /** * get the app version */ get version(): string | undefined; /** * get the code which be used to get access-token */ get code(): string | undefined; /** * get the code-verifier which be used to get access-token */ get codeVerifier(): string | null | undefined; /** * get conversation id */ get conversationId(): string | undefined; /** * get API support info */ get supportAPIs(): typeof SUPPORT_APIS; /** * judgement whether or not in mixin or reborn app */ get isMixin(): boolean; /** * judgement whether or not in reborn app */ get isReborn(): boolean; /** * get access token */ get token(): string | null | undefined; /** * get mixin app context */ getContext(): { [props: string]: any; app_version: string; immersive: boolean; appearance: "light" | "dark"; currency: string; locale: string; platform: "iOS" | "Android" | "Desktop"; conversation_id: string; } | undefined; /** * reload the theme according to theme-color */ reloadTheme(): void; /** * call native message window * Android Only */ showToast(msg: string): void; /** * play audio by mixin native player */ playlist(src: string[]): void; /** * go login page * @type { phone?: boolean | number; profile?: boolean | number; contacts?: boolean | number; assets?: boolean | number; snapshots?: boolean | number; messages?: boolean | number; code_challenge?: boolean; } AUTH */ login(auth: AUTH, params?: { oauth_url?: string; client_id?: string; redirect_url?: string; state?: string; code_challenge?: boolean; }): void; /** * do logout * @param reload whether reload the page */ logout(reload?: boolean): void; /** * request access-token by code * @param params request params * @param persistence whether persist the code * @returns */ requestToken(params?: { code?: string; client_id?: string; code_verifier?: string; }, persistence?: boolean): Promise; /** * get user infomations by request https://api.mixin.one/me API */ getUserInfo(token?: string): Promise | null>; /** * evoke payment checkout by generate pay scheme-url * @type { recipient: string; asset: string; amount: string; trace?: string; memo?: string | Record; } PARAMS_PAYMENT */ payment(params: PARAMS_PAYMENT): { url?: string; params: PARAMS_PAYMENT; } | undefined; /** * evoke transfer checkout by generate pay scheme-url * @param recipient recipient id */ transfer(recipient: string): string | undefined; /** * evoke transfer detail by generate snapshots scheme-url * @type { trace_id?: string; snapshot_id?: string; } PARAMS_SNAPSHOTS */ snapshot(params: PARAMS_SNAPSHOTS): string | undefined; /** * evoke withdrawal of an asset by generate withdrawal scheme-url * @type { address: string; asset: string; amount: string; trace?: string; memo?: string | Record; } PARAMS_WITHDRAWAL */ withdrawal(params: PARAMS_WITHDRAWAL): { url?: string; params: PARAMS_WITHDRAWAL; } | undefined; /** * evoke withdrawal-address action by generate address scheme-url * @param type 'add' | 'del' * @param params PARAMS_ADDRESS_ADD | PARAMS_ADDRESS_DELETE */ address(type: 'add', params: PARAMS_ADDRESS_ADD): string | undefined; address(type: 'del', params: PARAMS_ADDRESS_DELETE): string | undefined; /** * evoke share action by generate share scheme-url * @param category 'text' | 'image' | 'contact' | 'app_card' | 'live' | 'post' * @param params string | PARAMS_SHARE_CARD | PARAMS_SHARE_LIVE */ share(category: 'text', txt: string): string | undefined; share(category: 'image', url: string): string | undefined; share(category: 'contact', user_id: string): string | undefined; share(category: 'post', content: string): string | undefined; share(category: 'app_card', params: PARAMS_SHARE_CARD): string | undefined; share(category: 'live', params: PARAMS_SHARE_LIVE): string | undefined; /** * evoke user or bot's pop-up by generate scheme-url * @param type 'user' | 'bot' * @param params user_id | PARAMS_POPUP_BOT */ popup(type: 'user', user_id: string): string | undefined; popup(type: 'bot', params: PARAMS_POPUP_BOT): string | undefined; /** * evoke conversation by generate conversations scheme-url * @param recipient conversation id */ conversation(conversation_id: string): string | undefined; private getCode; private handlerError; } export default Bridge;