import { IAuthenticationService } from '../../../../../../platform/authentication/common/authentication';
import { CopilotToken } from '../../../../../../platform/authentication/common/copilotToken';
import { Disposable } from '../../../../../../util/vs/base/common/lifecycle';
interface UserConfigProperties {
    copilot_trackingId: string;
    organizations_list?: string;
    enterprise_list?: string;
    sku?: string;
}
export declare const ICompletionsTelemetryUserConfigService: import("../../../../../../util/common/services").ServiceIdentifier<ICompletionsTelemetryUserConfigService>;
export interface ICompletionsTelemetryUserConfigService {
    readonly _serviceBrand: undefined;
    getProperties(): Partial<UserConfigProperties>;
    trackingId: string | undefined;
    optedIn: boolean;
    ftFlag: string;
}
export declare class TelemetryUserConfig extends Disposable implements ICompletionsTelemetryUserConfigService {
    #private;
    _serviceBrand: undefined;
    optedIn: boolean;
    ftFlag: string;
    constructor(authenticationService: IAuthenticationService);
    getProperties(): Partial<UserConfigProperties>;
    get trackingId(): string | undefined;
    updateFromToken(copilotToken: Omit<CopilotToken, 'token'>): void;
}
export {};
//# sourceMappingURL=userConfig.d.ts.map