import Mixpanel from 'mixpanel';
import type { IncomingHttpHeaders } from 'node:http';
export declare const buildServerMixpanelClient: (params: {
    tokenId: string;
    apiHostname: string;
    debug?: boolean;
}) => Mixpanel.Mixpanel;
export declare const buildBasePropertiesPayload: (params: {
    /**
     * Host app identifier
     */
    hostApp: string;
    /**
     * The public origin (URL) of the server
     */
    serverOrigin: string;
    speckleVersion: string;
}) => {
    server_id: string;
    hostApp: string;
    speckleVersion: string;
};
export declare const buildPropertiesPayload: (params: {
    /**
     * User's distinctId. If not provided, the user will be treated as anonymous
     */
    distinctId?: string;
    headers?: IncomingHttpHeaders;
    query?: Record<string, unknown>;
    /**
     * User's IP address from request
     */
    remoteAddress?: string;
}) => {
    ip: string;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser: string | undefined;
    $device: string | undefined;
    $os: string | undefined;
    distinct_id: string;
} | {
    ip?: undefined;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser: string | undefined;
    $device: string | undefined;
    $os: string | undefined;
    distinct_id: string;
} | {
    ip: string;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser?: undefined;
    $device?: undefined;
    $os?: undefined;
    distinct_id: string;
} | {
    ip?: undefined;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser?: undefined;
    $device?: undefined;
    $os?: undefined;
    distinct_id: string;
} | {
    ip: string;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser: string | undefined;
    $device: string | undefined;
    $os: string | undefined;
    distinct_id?: undefined;
} | {
    ip?: undefined;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser: string | undefined;
    $device: string | undefined;
    $os: string | undefined;
    distinct_id?: undefined;
} | {
    ip: string;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser?: undefined;
    $device?: undefined;
    $os?: undefined;
    distinct_id?: undefined;
} | {
    ip?: undefined;
    $referring_domain?: string | undefined;
    $referrer?: string | undefined;
    $browser?: undefined;
    $device?: undefined;
    $os?: undefined;
    distinct_id?: undefined;
};
//# sourceMappingURL=mixpanel.d.ts.map