import { TypedEmitter } from "tiny-typed-emitter";
import { Credentials } from "./models";
import { PushNotificationServiceEvents } from "./interfaces";
export declare class PushNotificationService extends TypedEmitter<PushNotificationServiceEvents> {
    private readonly APP_PACKAGE;
    private readonly APP_ID;
    private readonly APP_SENDER_ID;
    private readonly APP_CERT_SHA1;
    private readonly FCM_PROJECT_ID;
    private readonly GOOGLE_API_KEY;
    private readonly AUTH_VERSION;
    private pushClient?;
    private credentialsTimeout?;
    private retryTimeout?;
    private retryDelay;
    private credentials;
    private persistentIds;
    private connected;
    private connecting;
    private got;
    private constructor();
    private loadLibraries;
    static initialize(): Promise<PushNotificationService>;
    private buildExpiresAt;
    private registerFid;
    private renewFidToken;
    private createPushCredentials;
    private renewPushCredentials;
    private loginPushCredentials;
    private executeCheckin;
    private registerGcm;
    private _normalizePushMessage;
    private onMessage;
    private getCurrentPushRetryDelay;
    setCredentials(credentials: Credentials): void;
    getCredentials(): Credentials | undefined;
    setPersistentIds(persistentIds: string[]): void;
    getPersistentIds(): string[];
    private _open;
    open(): Promise<Credentials | undefined>;
    close(): void;
    private clearCredentialsTimeout;
    private clearRetryTimeout;
    private resetRetryTimeout;
    isConnected(): boolean;
}
