import type { BlipClient } from '../client.ts'; import type { NonNullableEventTracking } from '../types/analytics.ts'; import type { Identity } from '../types/node.ts'; import { type WebhookTypes } from '../types/webhook.ts'; import { type ConsumeOptions, Namespace, type SendCommandOptions } from './namespace.ts'; export declare class AnalyticsNamespace extends Namespace { constructor(blipClient: BlipClient, defaultOptions?: SendCommandOptions); track(contact: Identity | undefined, category: string, action: string, extras?: Record, opts?: ConsumeOptions): Promise; getCategories(filter?: string, opts?: ConsumeOptions): Promise>>; streamCategories(filter?: string, opts?: ConsumeOptions): AsyncIterable>; /** @returns Quantity of actions in the category between the start and end date */ getCategoryCount(category: string, startDate: Date, endDate: Date, opts?: ConsumeOptions): Promise; /** @returns Counts of each action in the category grouped by day between the start and end date */ getCategoryActions(category: string, startDate: Date, endDate: Date, opts?: ConsumeOptions): Promise>>; /** @returns Counts of each action in the category grouped by day between the start and end date (streaming) */ streamCategoryActions(category: string, startDate: Date, endDate: Date, opts?: ConsumeOptions): AsyncIterable>; getTrackings(category: string, action: string, startDate: Date, endDate: Date, opts?: ConsumeOptions): Promise<{ contact: { identity: `${string}@${string}.${string}`; }; ownerIdentity?: Identity | undefined; storageDate?: string | undefined; category: string; action: string; extras: Record; }[]>; streamTrackings(category: string, action: string, startDate: Date, endDate: Date, opts?: ConsumeOptions): AsyncGenerator<{ contact: { identity: `${string}@${string}.${string}`; }; ownerIdentity?: Identity | undefined; storageDate?: string | undefined; category: string; action: string; extras: Record; }, void, unknown>; getActiveMessagesFailed(filters?: { startDate?: Date | string; endDate?: Date | string; campaign?: string; template?: string; }, opts?: ConsumeOptions): Promise>; getActiveMessagesStatus(filters?: { startDate?: Date | string; endDate?: Date | string; campaign?: string; template?: string; }, opts?: ConsumeOptions): Promise>; getActiveMessagesFailedCount(filters?: { startDate?: Date | string; endDate?: Date | string; campaign?: string; template?: string; }, opts?: ConsumeOptions): Promise>; getActiveMessagesReplyHour(filters?: { startDate?: Date | string; endDate?: Date | string; campaign?: string; template?: string; }, opts?: ConsumeOptions): Promise>; getActiveMessagesTemplateNames(filters?: { startDate?: Date | string; endDate?: Date | string; filter?: string; }, opts?: ConsumeOptions): Promise>; getActiveMessagesCampaignNames(filters?: { startDate?: Date | string; endDate?: Date | string; filter?: string; }, opts?: ConsumeOptions): Promise>; hasWebhook(url: string, opts?: ConsumeOptions): Promise; getWebhooks(opts?: ConsumeOptions): Promise<{ url: string; settings: { dispatchTypes: Array; customHeaders: Record; }; }[]>; /** * It will add the url as an active webhook if it doesn't exist yet * If the url already exists, it will update the settings] */ setWebhook(url: string, settings?: { listeners?: Array; headers?: Record; }, opts?: ConsumeOptions): Promise; deleteWebhook(url: string, opts?: ConsumeOptions): Promise; } //# sourceMappingURL=analytics.d.ts.map