///
import type { RequestOptions } from 'https';
import Request, { BasicAuth, RequestData, PushRequestData } from './request';
import { Region } from './regions';
import { IdentifierType } from './types';
type TrackDefaults = RequestOptions & {
region: Region;
url?: string;
};
export declare class TrackClient {
siteid: BasicAuth['siteid'];
apikey: BasicAuth['apikey'];
defaults: TrackDefaults;
request: Request;
trackRoot: string;
constructor(siteid: BasicAuth['siteid'], apikey: BasicAuth['apikey'], defaults?: Partial);
identify(customerId: string | number, data?: RequestData): Promise>;
destroy(customerId: string | number): Promise>;
suppress(customerId: string | number): Promise>;
unsuppress(customerId: string | number): Promise>;
track(customerId: string | number, data?: RequestData): Promise>;
trackAnonymous(anonymousId: string | number, data?: RequestData): Promise>;
trackPageView(customerId: string | number, path: string): Promise>;
trackPush(data?: PushRequestData): Promise>;
addDevice(customerId: string | number, device_id: string, platform: string, data?: Record): Promise>;
deleteDevice(customerId: string | number, deviceToken: string | number): Promise>;
mergeCustomers(primaryIdType: IdentifierType, primaryId: string | number, secondaryIdType: IdentifierType, secondaryId: string | number): Promise>;
}
export {};