import type { AppiumLogger } from '@appium/types';
import type { RemoteXPCFacade } from './remote-xpc';
interface CreateNotificationClientOptions {
    allowLegacyFallback?: boolean;
    facade?: RemoteXPCFacade | null;
    logger: AppiumLogger;
}
/**
 * Unified Notification Proxy Client
 *
 * Provides a unified interface for notification proxy operations on iOS devices,
 * automatically handling the differences between iOS < 18 (appium-ios-device)
 * and iOS 18 and above (appium-ios-remotexpc NotificationProxyService).
 */
export declare class NotificationClient {
    private readonly service;
    private readonly _isRemoteXPC;
    private readonly log;
    private constructor();
    /**
     * Check if this client is using RemoteXPC
     */
    private get isRemoteXPC();
    /**
     * Get service as RemoteXPC NotificationProxyService
     */
    private get remoteXPCNotificationProxy();
    /**
     * Get service as iOS Device NotificationProxy
     */
    private get iosDeviceNotificationProxy();
    /**
     * Create a notification client for device
     *
     * @param udid - Device UDID
     * @param opts - Creation options
     * @returns NotificationClient instance
     */
    static create(udid: string, opts: CreateNotificationClientOptions): Promise<NotificationClient>;
    /**
     * Observe a specific notification and wait for it
     *
     * @param notificationName - Name of the notification to observe
     * @returns Promise that resolves when the notification is received
     */
    observeNotification(notificationName: string): Promise<void>;
    /**
     * Close the notification service connection
     */
    close(): Promise<void>;
}
export {};
//# sourceMappingURL=notification-client.d.ts.map