import { ErrorCategory } from '@vkontakte/videoplayer-shared';
import type { IError } from '@vkontakte/videoplayer-shared';
import type { ISubscription } from '@vkontakte/videoplayer-shared';
import type { IUIConfig } from '../config';
export type UiSentryContext = Partial<{
    [key: string]: string | number | boolean;
}>;
export type UiSentryTags = Partial<{
    errorType: string;
    category: ErrorCategory;
    [key: string]: string | number | boolean;
}>;
export type UiSentryEnvParams = {
    version: string;
    env: string;
};
export declare class UISentry {
    sentrySubscription: ISubscription;
    private options;
    private version;
    private context;
    private sentryClient;
    constructor(options: IUIConfig['sentry'], envParams: UiSentryEnvParams, context?: UiSentryContext);
    destroy(): void;
    logIError(error: IError, fatal?: boolean): void;
    report(error: Error, tags?: UiSentryTags, extras?: UiSentryContext): void;
    static getInstance(): Readonly<UISentry> | null;
}
