import type { EmptyObject } from '@xylabs/object'; import type { Promisable } from '@xylabs/promise'; import type { FunnelStartedFields } from './FunnelStartedFields.ts'; import type { TestStartedFields } from './TestStartedFields.ts'; import type { UserClickFields } from './UserClickFields.ts'; import type { ViewContentFields } from './ViewContentFields.ts'; /** Abstract base class for handling user tracking events. */ export declare abstract class UserEventHandler { /** Tracks a funnel-started event. */ abstract funnelStarted(fields: T | FunnelStartedFields): Promisable; /** Tracks a test-started event. */ abstract testStarted(fields: T | TestStartedFields): Promisable; /** Tracks a user click event. */ abstract userClick(fields: T | UserClickFields): Promisable; /** Tracks a view-content event. */ abstract viewContent(fields: T | ViewContentFields): Promisable; } //# sourceMappingURL=UserEventHandler.d.ts.map