import { Client } from './client/client.js';
import { ClientOptions, WithRequired } from './client/types.js';
import { Listener } from './resources/listen.js';
import { NotificationPreferences } from './user-resources/notification-preferences.js';
import { Notifications } from './user-resources/notifications.js';
import { PushSubscriptions } from './user-resources/push-subscriptions.js';
import { Subscriptions } from './user-resources/subscriptions.js';
export type UserClientOptions = WithRequired<Omit<ClientOptions, 'apiSecret' | 'token'>, 'apiKey' | 'userEmail'> | WithRequired<Omit<ClientOptions, 'apiSecret' | 'token'>, 'apiKey' | 'userExternalId'> | WithRequired<Omit<ClientOptions, 'apiSecret' | 'apikey' | 'userEmail' | 'userExternalId'>, 'token'>;
export declare class UserClient extends Client {
    listen: Listener;
    notificationPreferences: NotificationPreferences;
    notifications: Notifications;
    pushSubscriptions: PushSubscriptions;
    subscriptions: Subscriptions;
    socketURL: string;
    constructor({ socketURL, ...options }: UserClientOptions & {
        socketURL?: string;
    });
}
