import { Boom } from '@hapi/boom'; import type { Contact } from './Contact.js'; export declare enum SyncState { /** The socket is connecting, but we haven't received pending notifications yet. */ Connecting = 0, /** Pending notifications received. Buffering events until we decide whether to sync or not. */ AwaitingInitialSync = 1, /** The initial app state sync (history, etc.) is in progress. Buffering continues. */ Syncing = 2, /** Initial sync is complete, or was skipped. The socket is fully operational and events are processed in real-time. */ Online = 3 } export type WAConnectionState = 'open' | 'connecting' | 'close'; export type ConnectionState = { /** connection is now open, connecting or closed */ connection: WAConnectionState; /** the error that caused the connection to close */ lastDisconnect?: { error: Boom | Error | undefined; date: Date; }; /** is this a new login */ isNewLogin?: boolean; /** the current QR code */ qr?: string; /** has the device received all pending notifications while it was offline */ receivedPendingNotifications?: boolean; /** legacy connection options */ legacy?: { phoneConnected: boolean; user?: Contact; }; /** * if the client is shown as an active, online client. * If this is false, the primary phone and other devices will receive notifs * */ isOnline?: boolean; /** * When you are in this state, WhatsApp prevents outgoing messages and calls. */ reachoutTimeLock?: ReachoutTimelockState; }; export type ReachoutTimelockState = { isActive?: boolean; timeEnforcementEnds?: Date; enforcementType?: ReachoutTimelockEnforcementType; }; export declare enum ReachoutTimelockEnforcementType { BIZ_COMMERCE_VIOLATION_ALCOHOL = "BIZ_COMMERCE_VIOLATION_ALCOHOL", BIZ_COMMERCE_VIOLATION_ADULT = "BIZ_COMMERCE_VIOLATION_ADULT", BIZ_COMMERCE_VIOLATION_ANIMALS = "BIZ_COMMERCE_VIOLATION_ANIMALS", BIZ_COMMERCE_VIOLATION_BODY_PARTS_FLUIDS = "BIZ_COMMERCE_VIOLATION_BODY_PARTS_FLUIDS", BIZ_COMMERCE_VIOLATION_DATING = "BIZ_COMMERCE_VIOLATION_DATING", BIZ_COMMERCE_VIOLATION_DIGITAL_SERVICES_PRODUCTS = "BIZ_COMMERCE_VIOLATION_DIGITAL_SERVICES_PRODUCTS", BIZ_COMMERCE_VIOLATION_DRUGS = "BIZ_COMMERCE_VIOLATION_DRUGS", BIZ_COMMERCE_VIOLATION_DRUGS_ONLY_OTC = "BIZ_COMMERCE_VIOLATION_DRUGS_ONLY_OTC", BIZ_COMMERCE_VIOLATION_GAMBLING = "BIZ_COMMERCE_VIOLATION_GAMBLING", BIZ_COMMERCE_VIOLATION_HEALTHCARE = "BIZ_COMMERCE_VIOLATION_HEALTHCARE", BIZ_COMMERCE_VIOLATION_REAL_FAKE_CURRENCY = "BIZ_COMMERCE_VIOLATION_REAL_FAKE_CURRENCY", BIZ_COMMERCE_VIOLATION_SUPPLEMENTS = "BIZ_COMMERCE_VIOLATION_SUPPLEMENTS", BIZ_COMMERCE_VIOLATION_TOBACCO = "BIZ_COMMERCE_VIOLATION_TOBACCO", BIZ_COMMERCE_VIOLATION_VIOLENT_CONTENT = "BIZ_COMMERCE_VIOLATION_VIOLENT_CONTENT", BIZ_COMMERCE_VIOLATION_WEAPONS = "BIZ_COMMERCE_VIOLATION_WEAPONS", BIZ_QUALITY = "BIZ_QUALITY", /** This means there is no restriction */ DEFAULT = "DEFAULT", WEB_COMPANION_ONLY = "WEB_COMPANION_ONLY" } export declare enum NewChatMessageCappingStatusType { NONE = "NONE", FIRST_WARNING = "FIRST_WARNING", SECOND_WARNING = "SECOND_WARNING", CAPPED = "CAPPED" } export declare enum NewChatMessageCappingMVStatusType { NOT_ELIGIBLE = "NOT_ELIGIBLE", NOT_ACTIVE = "NOT_ACTIVE", ACTIVE = "ACTIVE", ACTIVE_UPGRADE_AVAILABLE = "ACTIVE_UPGRADE_AVAILABLE" } export declare enum NewChatMessageCappingOTEStatusType { NOT_ELIGIBLE = "NOT_ELIGIBLE", ELIGIBLE = "ELIGIBLE", ACTIVE_IN_CURRENT_CYCLE = "ACTIVE_IN_CURRENT_CYCLE", EXHAUSTED = "EXHAUSTED" } export type NewChatMessageCapInfo = { total_quota?: number; used_quota?: number; cycle_start_timestamp?: string; cycle_end_timestamp?: string; server_sent_timestamp?: string; ote_status?: NewChatMessageCappingOTEStatusType; mv_status?: NewChatMessageCappingMVStatusType; capping_status?: NewChatMessageCappingStatusType; }; //# sourceMappingURL=State.d.ts.map