import { Credential, CredentialHintOptions, CredentialRequestOptions, ProxyLoginResponse } from './data'; import { OpenYoloErrorData, OpenYoloExtendedError } from './errors'; export declare const RPC_MESSAGE_TYPES: Readonly<{ retrieve: "retrieve"; hintAvailable: "hintAvailable"; hintAvailableResult: "hintAvailableResult"; hint: "hint"; save: "save"; saveResult: "saveResult"; proxy: "proxy"; proxyResult: "proxyResult"; wrapBrowser: "wrapBrowser"; wrapBrowserResult: "wrapBrowserResult"; showProvider: "showProvider"; none: "none"; credential: "credential"; error: "error"; }>; export declare type RpcMessageType = keyof typeof RPC_MESSAGE_TYPES; export interface RpcMessage { type: T; data: RpcMessageData; } export declare type RpcMessageArgumentTypes = { 'retrieve': CredentialRequestOptions; 'hintAvailable': CredentialHintOptions; 'hintAvailableResult': boolean; 'hint': CredentialHintOptions; 'save': Credential; 'saveResult': boolean; 'proxy': Credential; 'proxyResult': ProxyLoginResponse; 'showProvider': DisplayOptions; 'wrapBrowser': undefined; 'wrapBrowserResult': boolean; 'none': undefined; 'credential': Credential; 'error': OpenYoloErrorData; }; export declare type RpcMessageArgumentType = RpcMessageArgumentTypes[T]; export interface RpcMessageData { id: string; args: RpcMessageArgumentTypes[T]; } export declare type RpcMessageDataTypes = { [K in RpcMessageType]: RpcMessageData; }; export interface CredentialResponseData { credential: Credential; } export interface ErrorMessageData { error: OpenYoloErrorData; } export interface DisplayOptions { height: number; } export declare const RPC_MESSAGE_DATA_VALIDATORS: { [K in RpcMessageType]: (data: any) => boolean; }; export declare function rpcMessage(type: T, id: string, args: RpcMessageArgumentTypes[T]): RpcMessage; export declare function retrieveMessage(id: string, options: CredentialRequestOptions): RpcMessage<"retrieve">; export declare function hintAvailableMessage(id: string, options: CredentialHintOptions): RpcMessage<"hintAvailable">; export declare function hintAvailableResponseMessage(id: string, available: boolean): RpcMessage<"hintAvailableResult">; export declare function hintMessage(id: string, options: CredentialHintOptions): RpcMessage<"hint">; export declare function proxyLoginMessage(id: string, credential: Credential): RpcMessage<"proxy">; export declare function proxyLoginResponseMessage(id: string, response: ProxyLoginResponse): RpcMessage<"proxyResult">; export declare function wrapBrowserMessage(id: string): RpcMessage<"wrapBrowser">; export declare function wrapBrowserResultMessage(id: string, wrapBrowser: boolean): RpcMessage<"wrapBrowserResult">; export declare function noneAvailableMessage(id: string): RpcMessage<"none">; export declare function credentialResultMessage(id: string, credential: Credential): RpcMessage<"credential">; export declare function showProviderMessage(id: string, options: DisplayOptions): RpcMessage<"showProvider">; export declare function saveMessage(id: string, credential: Credential): RpcMessage<"save">; export declare function saveResultMessage(id: string, saved: boolean): RpcMessage<"saveResult">; export declare function errorMessage(id: string, error: OpenYoloExtendedError): RpcMessage<"error">;