import { EditorView } from '@atlaskit/editor-prosemirror/view';
import { UFOExperience } from '@atlaskit/ufo';
import type { CustomData, ExperienceConfig } from '@atlaskit/ufo/types';
export declare const experienceConfig: ExperienceConfig;
export declare enum EditorExperience {
    loadEditor = "load",
    typing = "type",
    interaction = "interact",
    editSession = "edit-session"
}
export declare const RELIABILITY_INTERVAL = 30000;
type TypeOfEditorExperience = typeof EditorExperience;
type ValueOfEditorExperience = TypeOfEditorExperience[keyof TypeOfEditorExperience];
export declare class ExperienceStore {
    private static stores;
    private experiences;
    private constructor();
    static getInstance(view: EditorView, options?: {
        forceNewInstance?: boolean;
    }): ExperienceStore;
    get(experienceId: string): UFOExperience | undefined;
    getActive(experienceId: string): UFOExperience | undefined;
    getAll(): UFOExperience[];
    start(experienceId: ValueOfEditorExperience, startTime?: number): void;
    addMetadata(experienceId: string, metadata: CustomData): void;
    mark(experienceId: string, mark: string, value: number): void;
    success(experienceId: string, metadata?: CustomData): Promise<boolean | null> | undefined;
    fail(experienceId: string, metadata?: CustomData): void;
    abort(experienceId: string, metadata?: CustomData): void;
    abortAll(metadata?: CustomData): void;
    failAll(metadata?: CustomData): void;
}
export {};
