import { SortDirection } from "../new-ui/types/store"; declare enum YandexMetrikaMethod { ReachGoal = "reachGoal", Params = "params" } interface YandexMetrikaSdk { (counterId: number, method: YandexMetrikaMethod.ReachGoal, goalId: string, goalParams: Record): void; (counterId: number, method: YandexMetrikaMethod.Params, params: Record): void; } declare global { interface Window { ym?: YandexMetrikaSdk; } } declare enum GoalId { ScreenshotAccept = "ACCEPT_SCREENSHOT", OpenedScreenshotsAccept = "ACCEPT_OPENED_SCREENSHOTS", FeatureUsage = "FEATURE_USAGE" } interface ScreenshotAcceptData { acceptedImagesCount: number; } interface BasicFeatureUsageData { featureName: string; } interface GroupByFeatureUsageData extends BasicFeatureUsageData { groupByKey: string; } interface SortByFeatureUsageData extends BasicFeatureUsageData { sortByKey: string; sortDirection: SortDirection; } interface ChangeTreeViewModeFeatureUsageData extends BasicFeatureUsageData { treeViewMode: string; } type FeatureUsageData = BasicFeatureUsageData | GroupByFeatureUsageData | SortByFeatureUsageData | ChangeTreeViewModeFeatureUsageData; export declare class YandexMetrika { protected readonly _isEnabled: boolean; protected readonly _counterNumber: number; constructor(isEnabled: boolean, counterNumber: number); protected _registerGoal(goalId: GoalId, goalParams?: {}): void; setVisitParams(params: Record): void; trackScreenshotsAccept(params?: ScreenshotAcceptData): void; trackOpenedScreenshotsAccept(params: ScreenshotAcceptData): void; trackFeatureUsage(params: FeatureUsageData): void; } export {};