import { KolibriRpcServer, LoginParams, LoginResult, NodeBrowseParams, NodeBrowseResult, NodeCreateParams, NodeDeleteHistoryParams, NodeDeleteParams, NodeGetHistoryParams, NodeGetHistoryResult, NodeGetPropertiesParams, NodeGetPropertiesResult, NodeModifyParams, PermissionNodeListParams, PermissionNodeListResult, PermissionNodeSetParams, PermissionRpcAddParams, PermissionRpcListParams, PermissionRpcListResult, PermissionRpcRemoveParams, PermissionUserListParams, PermissionUserListResult, ProjectBrowseParams, ProjectBrowseResult, ProjectCreateParams, ProjectDeleteParams, ProjectGetHistoryUsageParams, ProjectGetHistoryUsageResult, ProjectGetLiveUsageParams, ProjectGetLiveUsageResult, ProjectGetPropertiesParams, ProjectGetPropertiesResult, ProjectGetStatisticsParams, ProjectGetStatisticsResult, ProjectModifyParams, ReadParams, ReadResult, SubscribeParams, SubscribeResult, UnsubscribeParams, UserBrowseParams, UserBrowseResult, UserCreateParams, UserDeleteParams, UserGetHistoryParams, UserGetHistoryResult, UserGetPropertiesParams, UserGetPropertiesResult, UserGetSessionsParams, UserGetSessionsResult, UserGroupAddMemberParams, UserGroupBrowseParams, UserGroupBrowseResult, UserGroupCreateParams, UserGroupDeleteParams, UserGroupGetPropertiesParams, UserGroupGetPropertiesResult, UserGroupIsMemberParams, UserGroupListMembersParams, UserGroupModifyParams, UserGroupRemoveMemberParams, UserModifyParams, UserSubscribeParams, UserSubscribeResult, UserUnsubscribeParams, UserUnsubscribeResult, WriteParams } from './client_types';
import { KolibriRpcClient } from './common/kolibri_rpc_client';
export declare class KolibriClient {
    private readonly delegate;
    constructor(delegate: KolibriRpcClient);
    addOnUnsubscribedListener(listener: (data: any[]) => void): void;
    addOnWriteListener(listener: (data: any[]) => void): void;
    addOnUserNotifyListener(listener: (data: any[]) => void): void;
    addOnErrorListener(listener: (error: any) => void): void;
    addOnReconnectListener(listener: () => Promise<void>): void;
    addOnDisconnectListener(listener: (event?: {
        code: number;
        reason: string;
    }) => Promise<void>): void;
    callKolibriRpc(server: KolibriRpcServer, method: string, params?: unknown): Promise<unknown>;
    registerKolibriRpc(method: string, handler: (params?: unknown) => unknown): Promise<void>;
    connect(): Promise<void>;
    disconnect(): Promise<void>;
    login(params?: LoginParams): Promise<LoginResult>;
    close(): Promise<number>;
    write(params: WriteParams): Promise<number>;
    read(params: ReadParams[]): Promise<ReadResult[]>;
    subscribe(params: SubscribeParams[]): Promise<SubscribeResult[]>;
    unsubscribe(params: UnsubscribeParams[]): Promise<number>;
    permissionNodeSet(params: PermissionNodeSetParams): Promise<number>;
    permissionNodeList(params: PermissionNodeListParams): Promise<PermissionNodeListResult[]>;
    permissionRpcAdd(params: PermissionRpcAddParams): Promise<number>;
    permissionRpcRemove(params: PermissionRpcRemoveParams): Promise<number>;
    permissionRpcList(params: PermissionRpcListParams): Promise<PermissionRpcListResult[]>;
    permissionUserList(params: PermissionUserListParams): Promise<PermissionUserListResult[]>;
    projectBrowse(params: ProjectBrowseParams): Promise<ProjectBrowseResult[]>;
    projectCreate(params: ProjectCreateParams): Promise<number>;
    projectDelete(params: ProjectDeleteParams): Promise<number>;
    projectGetLiveUsage(params: ProjectGetLiveUsageParams): Promise<ProjectGetLiveUsageResult[]>;
    projectGetProperties(params: ProjectGetPropertiesParams): Promise<ProjectGetPropertiesResult>;
    projectGetStatistics(params: ProjectGetStatisticsParams): Promise<ProjectGetStatisticsResult>;
    projectModify(params: ProjectModifyParams): Promise<number>;
    projectGetHistoryUsage(params: ProjectGetHistoryUsageParams): Promise<ProjectGetHistoryUsageResult>;
    userSubscribe(params: UserSubscribeParams[]): Promise<UserSubscribeResult[]>;
    userUnsubscribe(params: UserUnsubscribeParams[]): Promise<UserUnsubscribeResult[]>;
    userBrowse(params: UserBrowseParams): Promise<UserBrowseResult[]>;
    userCreate(params: UserCreateParams): Promise<number>;
    userModify(params: UserModifyParams): Promise<number>;
    userGetSessions(params: UserGetSessionsParams): Promise<UserGetSessionsResult[]>;
    userGetHistory(params: UserGetHistoryParams): Promise<UserGetHistoryResult[]>;
    userDelete(params: UserDeleteParams): Promise<number>;
    userGetProperties(params: UserGetPropertiesParams): Promise<UserGetPropertiesResult>;
    userGroupBrowse(params: UserGroupBrowseParams): Promise<UserGroupBrowseResult[]>;
    userGroupCreate(params: UserGroupCreateParams): Promise<number>;
    userGroupModify(params: UserGroupModifyParams): Promise<number>;
    userGroupDelete(params: UserGroupDeleteParams): Promise<number>;
    userGroupGetProperties(params: UserGroupGetPropertiesParams): Promise<UserGroupGetPropertiesResult>;
    userGroupAddMember(params: UserGroupAddMemberParams): Promise<number>;
    userGroupRemoveMember(params: UserGroupRemoveMemberParams): Promise<number>;
    userGroupListMembers(params: UserGroupListMembersParams): Promise<string[]>;
    userGroupIsMember(params: UserGroupIsMemberParams): Promise<boolean>;
    nodeBrowse(params: NodeBrowseParams): Promise<NodeBrowseResult[]>;
    nodeCreate(params: NodeCreateParams): Promise<number>;
    nodeModify(params: NodeModifyParams): Promise<number>;
    nodeDelete(params: NodeDeleteParams): Promise<number>;
    nodeGetProperties(params: NodeGetPropertiesParams): Promise<NodeGetPropertiesResult>;
    nodeGetHistory(params: NodeGetHistoryParams): Promise<NodeGetHistoryResult[]>;
    nodeDeleteHistory(params: NodeDeleteHistoryParams): Promise<number>;
}
