/*! PrivMX Web Endpoint. Copyright © 2024 Simplito sp. z o.o. This file is part of the PrivMX Platform (https://privmx.dev). This software is Licensed under the PrivMX Free License. See the License for the specific language governing permissions and limitations under the License. */ import { UserVerifierInterface } from "../service/UserVerifierInterface"; import { PagingQuery, PagingList, Context, UserInfo, VerificationRequest, PKIVerificationOptions, ConnectionEventType, ConnectionEventSelectorType } from "../Types"; import { BaseNative } from "./BaseNative"; type UserVierifierVerifyFunc = (request: VerificationRequest[]) => Promise; declare global { interface Window { userVerifierBinder?: { [id: number]: { userVierifier_verify: UserVierifierVerifyFunc; }; }; } } export declare class ConnectionNative extends BaseNative { protected lastConnectionId: number; protected userVerifierPtr: number; protected static verifierBindingId: number; protected static getVerifierBindingId(): number; protected newApi(_connectionPtr: number): Promise; deleteApi(ptr: number): Promise; newConnection(): Promise; deleteConnection(ptr: number): Promise; connect(ptr: number, args: [string, string, string, PKIVerificationOptions]): Promise; connectPublic(ptr: number, args: [string, string, PKIVerificationOptions]): Promise; getConnectionId(ptr: number, args: []): Promise; listContexts(ptr: number, args: [PagingQuery]): Promise>; listContextUsers(ptr: number, args: [string, PagingQuery]): Promise>; subscribeFor(ptr: number, args: [string[]]): Promise; unsubscribeFrom(ptr: number, args: [string[]]): Promise; buildSubscriptionQuery(ptr: number, args: [ConnectionEventType, ConnectionEventSelectorType, string]): Promise; disconnect(ptr: number, args: []): Promise; setUserVerifier(_ptr: number, args: [number, UserVerifierInterface]): Promise; protected newUserVerifierInterface(connectionPtr: number): Promise; protected deleteUserVerifierInterface(ptr: number): Promise; } export {};