export interface TelemetryConfig {
    distinctId: string;
    enabled: boolean;
    noticeVersion: number;
}
export interface TelemetryStatus {
    configPath: string;
    disabledBy?: 'ci' | 'config' | 'env';
    distinctId?: string;
    enabled: boolean;
    noticeVersion: number;
}
export declare const TELEMETRY_NOTICE_VERSION = 1;
export declare function getTelemetryConfigPath(): string;
export declare function getTelemetryStatus(opts?: {
    createIfMissing?: boolean;
}): Promise<{
    configPath: string;
    disabledBy: "ci" | "env" | undefined;
    distinctId: undefined;
    enabled: false;
    noticeVersion: number;
} | {
    configPath: string;
    disabledBy: "ci" | "env";
    distinctId: string;
    enabled: false;
    noticeVersion: number;
} | {
    configPath: string;
    disabledBy: "config";
    distinctId: string;
    enabled: false;
    noticeVersion: number;
} | {
    configPath: string;
    distinctId: string;
    enabled: true;
    noticeVersion: number;
    disabledBy?: undefined;
}>;
export declare function markTelemetryNoticeSeen(): Promise<void>;
export declare function setTelemetryEnabled(enabled: boolean): Promise<{
    enabled: boolean;
    distinctId: string;
    noticeVersion: number;
}>;
