/**
  Juju MetricsManager version 1.
  This facade is available on:
    Controller-machine-agent

  NOTE: This file was generated using the Juju schema
  from Juju 3.3 at the git SHA 65fa4c1ee5.
  Do not manually edit this file.
*/
import { ConnectionInfo, Transport } from "../../client.js";
import { Facade } from "../../types.js";
export interface Entities {
    entities: Entity[];
}
export interface Entity {
    tag: string;
}
export interface Error {
    code: string;
    info?: AdditionalProperties;
    message: string;
}
export interface ErrorResult {
    error?: Error;
}
export interface ErrorResults {
    results: ErrorResult[];
}
export interface AdditionalProperties {
    [key: string]: any;
}
/**
  MetricsManagerAPI implements the metrics manager interface and is the concrete
  implementation of the api end point.
*/
declare class MetricsManagerV1 implements Facade {
    static NAME: string;
    static VERSION: number;
    NAME: string;
    VERSION: number;
    _transport: Transport;
    _info: ConnectionInfo;
    constructor(transport: Transport, info: ConnectionInfo);
    /**
      AddJujuMachineMetrics adds a metric that counts the number of
      non-container machines in the current model.
    */
    addJujuMachineMetrics(params: any): Promise<any>;
    /**
      CleanupOldMetrics removes old metrics from the collection.
      The single arg params is expected to contain and model uuid.
      Even though the call will delete all metrics across models
      it serves to validate that the connection has access to at least one model.
    */
    cleanupOldMetrics(params: Entities): Promise<ErrorResults>;
    /**
      SendMetrics will send any unsent metrics onto the metric collection service.
    */
    sendMetrics(params: Entities): Promise<ErrorResults>;
}
export default MetricsManagerV1;
