import { PromisifyObject } from "./types"; export type AdditionalProperties = Record>; export interface BaseEvent { additionalProperties?: AdditionalProperties; } /** * Takes an event type and a description and returns an event * * @template TEventType The event type. * Use existing from EventTypes.ts or make custom inline for one offs. * Defaults to BaseEvent * @param {{ description: string }} event with the interface of the event type to be filled later * @returns {*} {Event} */ export declare const createEvent: (event?: { description?: string; }) => Event; export type UnspecifiedEvent = AdditionalProperties; export type Event = { description?: string; properties: TProperties; }; export type EventDictionary = Record>; export interface AnalyticsRuntimeApiSync { logEvent(eventName: TEventName, details: TEvents[TEventName]["properties"], nameSupplement?: { prefix?: string; postfix?: string; }): void; logPageView(details: { pageName: string; } & BaseEvent): void; logError(details: UnspecifiedEvent): void; setUserProperty(name: string, data: string | number): void; } export type AnalyticsRuntimeApi = PromisifyObject>;