import { HTTP } from '@heroku/http-call';
import { Command, Interfaces } from '@oclif/core';
import HerokulyticsConfig from './herokulytics-config.js';
export interface AnalyticsInterface {
    event: string;
    properties: {
        cli: string;
        command: string;
        completion: number;
        install_id: string;
        language: string;
        os: string;
        plugin: string;
        plugin_version: string;
        shell: string;
        valid: boolean;
        version: string;
    };
    source: string;
}
export interface RecordOpts {
    argv: string[];
    Command: Command.Class;
}
export default class BackboardHerokulyticsClient {
    config: Interfaces.Config;
    http: ReturnType<typeof HTTP.create>;
    userConfig: HerokulyticsConfig;
    private isInitialized;
    private netrc;
    constructor(config: Interfaces.Config);
    get authorizationToken(): string | undefined;
    get netrcLogin(): string | undefined;
    get netrcToken(): string | undefined;
    get url(): string;
    get user(): string | undefined;
    get usingHerokuAPIKey(): boolean;
    _acAnalytics(id: string): Promise<number>;
    send(opts: RecordOpts): Promise<void>;
    private ensureInitialized;
}
