/**
 * UFO experience tracking helpers for `@atlaskit/editor-plugin-autocomplete`.
 *
 * Pattern follows `packages/linking-platform/smart-card/src/state/analytics/ufoExperiences.ts`
 * (ConcurrentExperience keyed per request/instance) plus a try/catch safety wrap
 * inspired by `packages/editor/collab-provider/src/analytics/ufo.ts` so a UFO
 * runtime error can never break the autocomplete feature.
 *
 * Experience names must be registered in DataPortal's `task` attribute before
 * they can power FE Reliability SLOs:
 * https://hello.atlassian.net/wiki/spaces/AA6/pages/3961393753
 */
import { type CustomData } from '@atlaskit/ufo';
/**
 * Experience name strings are surfaced downstream by the UFO pipeline as
 * `platform.fe.<type>.<platform.component>.<name>` (e.g.
 * `platform.fe.operation.editor-plugin-autocomplete.slow-lane-fetch`), so
 * names here should be short, dot-free, and must not repeat the component
 * name. This matches the convention used by `@atlaskit/emoji`'s
 * `ufoExperiences` map (e.g. `'emoji-rendered'`).
 */
/**
 * Only experiences with meaningful async work and a real success/failure
 * outcome belong on UFO (which measures latency and success rate for FE
 * Reliability SLOs). Per-keystroke suggestion lifecycle counters (viewed /
 * inserted / dismissed) are tracked via analytics-next instead — they would
 * otherwise emit zero-duration events on every word boundary.
 */
export declare const EXPERIENCE_NAME: {
    readonly SLOW_LANE_FETCH: "slow-lane-fetch";
    readonly LOAD_VOCABULARY: "load-vocabulary";
    readonly LOAD_VECTORS: "load-vectors";
};
export type AutocompleteExperienceName = (typeof EXPERIENCE_NAME)[keyof typeof EXPERIENCE_NAME];
export declare const startExp: (name: AutocompleteExperienceName, id: string, metadata?: CustomData) => void;
export declare const succeedExp: (name: AutocompleteExperienceName, id: string, metadata?: CustomData) => void;
export declare const failExp: (name: AutocompleteExperienceName, id: string, metadata?: CustomData) => void;
export declare const abortExp: (name: AutocompleteExperienceName, id: string, reason?: string, metadata?: CustomData) => void;
