import { type IPushServiceSafariConfig } from './PushServiceSafari.types';
import { type Api } from '../../../../modules/Api/Api';
import { type Data } from '../../../../modules/Data/Data';
import { type IPushService, type IPushServiceSubscriptionKeys } from '../../PushService.types';
export declare class PushServiceSafari implements IPushService {
    private readonly api;
    private readonly data;
    private readonly config;
    constructor(api: Api, data: Data, config: IPushServiceSafariConfig);
    getPermission(): NotificationPermission;
    checkIsPermissionGranted(): boolean;
    checkIsPermissionDefault(): boolean;
    checkIsManualUnsubscribed(): Promise<boolean>;
    askPermission(): Promise<void>;
    getTokens(): Promise<IPushServiceSubscriptionKeys>;
    subscribe(): Promise<void>;
    unsubscribe(): Promise<void>;
    checkIsRegister(): Promise<boolean>;
    checkIsNeedResubscribe(): Promise<boolean>;
    private getPermissionInfo;
}
