import { Status } from "../../DataFrame";
import { ResponseResult } from "../FieldChangeResult";
import { DeviceTokenMetadata, IControllerNotificationsService, NotificationClientRegistration, NotificationsServiceErrorCode } from "./IControllerNotificationsService";
export declare class ControllerNotificationsService implements IControllerNotificationsService {
    static readonly ServiceName: string;
    private _connection;
    private _logger;
    constructor();
    GetServiceName(): string;
    RegisterNotificationsClientAsync(registration: NotificationClientRegistration): Promise<string | ResponseResult<NotificationsServiceErrorCode>>;
    UpdateNotificationsClientAsync(tokenGuid: string, registration: NotificationClientRegistration): Promise<Status.OK | ResponseResult<NotificationsServiceErrorCode>>;
    GetRegisteredNotificationsClientsMetadataAsync(lavvaUserName?: string): Promise<DeviceTokenMetadata[] | ResponseResult<NotificationsServiceErrorCode>>;
    IsNotificationsEnabledForAllUserTokensAsync(lavvaUserName: string): Promise<boolean | ResponseResult<NotificationsServiceErrorCode>>;
    IsNotificationsEnabledAsync(tokenIdentity: string): Promise<boolean | ResponseResult<NotificationsServiceErrorCode>>;
    EnableNotificationsAsync(tokenIdentity?: string): Promise<Status.OK | ResponseResult<NotificationsServiceErrorCode>>;
    EnableNotificationsForAllUserTokensAsync(lavvaUserName: string): Promise<Status.OK | ResponseResult<NotificationsServiceErrorCode>>;
    DisableNotificationsAsync(tokenIdentity?: string): Promise<Status.OK | ResponseResult<NotificationsServiceErrorCode>>;
    DisableNotificationsForAllUserTokensAsync(lavvaUserName: string): Promise<Status.OK | ResponseResult<NotificationsServiceErrorCode>>;
    DeleteNotificationsTokenAsync(tokenGuid: string): Promise<Status.OK | ResponseResult<NotificationsServiceErrorCode>>;
    private getClientType;
    private isValidErrorCode;
    private isIos;
}
