/*!
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 } from "../Types";
import { BaseNative } from "./BaseNative";
export declare class ConnectionNative extends BaseNative {
    protected lastConnectionId: number;
    protected userVerifierPtr: number;
    protected newApi(_connectionPtr: number): Promise<number>;
    deleteApi(ptr: number): Promise<void>;
    newConnection(): Promise<number>;
    deleteConnection(ptr: number): Promise<void>;
    connect(ptr: number, args: [string, string, string]): Promise<void>;
    connectPublic(ptr: number, args: [string, string]): Promise<void>;
    getConnectionId(ptr: number, args: []): Promise<number>;
    listContexts(ptr: number, args: [PagingQuery]): Promise<PagingList<Context>>;
    getContextUsers(ptr: number, args: [string]): Promise<UserInfo[]>;
    disconnect(ptr: number, args: []): Promise<void>;
    setUserVerifier(_ptr: number, args: [number, UserVerifierInterface]): Promise<void>;
    protected newUserVerifierInterface(connectionPtr: number): Promise<number>;
    protected deleteUserVerifierInterface(ptr: number): Promise<void>;
}
