/**
  Juju LeadershipService version 2.
  This facade is available on:
    Controller-machine-agent
    Machine-agent
    Unit-agent
    Models

  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 ApplicationTag {
    Name: string;
}
export interface ClaimLeadershipBulkParams {
    params: ClaimLeadershipParams[];
}
export interface ClaimLeadershipBulkResults {
    results: ErrorResult[];
}
export interface ClaimLeadershipParams {
    "application-tag": string;
    duration: number;
    "unit-tag": string;
}
export interface Error {
    code: string;
    info?: AdditionalProperties;
    message: string;
}
export interface ErrorResult {
    error?: Error;
}
export interface AdditionalProperties {
    [key: string]: any;
}
/**
  LeadershipService implements a variant of leadership.Claimer for consumption
  over the API.
*/
declare class LeadershipServiceV2 implements Facade {
    static NAME: string;
    static VERSION: number;
    NAME: string;
    VERSION: number;
    _transport: Transport;
    _info: ConnectionInfo;
    constructor(transport: Transport, info: ConnectionInfo);
    /**
      BlockUntilLeadershipReleased blocks the caller until leadership is
      released for the given service.
    */
    blockUntilLeadershipReleased(params: ApplicationTag): Promise<ErrorResult>;
    /**
      ClaimLeadership makes a leadership claim with the given parameters.
    */
    claimLeadership(params: ClaimLeadershipBulkParams): Promise<ClaimLeadershipBulkResults>;
}
export default LeadershipServiceV2;
