/**
 * Octane API
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: 1.0.0
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import * as runtime from '../runtime';
import { CreateMeterArgs, Meter, UpdateMeterArgs } from '../models';
export interface MetersMeterNameArchivePostRequest {
    meterName: string;
}
export interface MetersMeterNameDeleteRequest {
    meterName: string;
}
export interface MetersMeterNameGetRequest {
    meterName: string;
}
export interface MetersMeterNamePutRequest {
    meterName: string;
    updateMeterArgs: UpdateMeterArgs;
}
export interface MetersPostRequest {
    createMeterArgs: CreateMeterArgs;
}
/**
 *
 */
export declare class MetersApi extends runtime.BaseAPI {
    /**
     * Get all meters for a given vendor.
     * Get Meters
     */
    metersGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<Meter>>>;
    /**
     * Get all meters for a given vendor.
     * Get Meters
     */
    metersGet(initOverrides?: RequestInit): Promise<Array<Meter>>;
    /**
     * Update a meter by its unique name.
     * Archive Meter
     */
    metersMeterNameArchivePostRaw(requestParameters: MetersMeterNameArchivePostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Update a meter by its unique name.
     * Archive Meter
     */
    metersMeterNameArchivePost(requestParameters: MetersMeterNameArchivePostRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Delete a meter by its unique name. Meters can only be deleted if not in-use by a price plan.
     * Delete Meter
     */
    metersMeterNameDeleteRaw(requestParameters: MetersMeterNameDeleteRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Delete a meter by its unique name. Meters can only be deleted if not in-use by a price plan.
     * Delete Meter
     */
    metersMeterNameDelete(requestParameters: MetersMeterNameDeleteRequest, initOverrides?: RequestInit): Promise<void>;
    /**
     * Get a meter by its unique name.
     * Get Meter
     */
    metersMeterNameGetRaw(requestParameters: MetersMeterNameGetRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Meter>>;
    /**
     * Get a meter by its unique name.
     * Get Meter
     */
    metersMeterNameGet(requestParameters: MetersMeterNameGetRequest, initOverrides?: RequestInit): Promise<Meter>;
    /**
     * Update a meter by its unique name.
     * Update Meter
     */
    metersMeterNamePutRaw(requestParameters: MetersMeterNamePutRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Meter>>;
    /**
     * Update a meter by its unique name.
     * Update Meter
     */
    metersMeterNamePut(requestParameters: MetersMeterNamePutRequest, initOverrides?: RequestInit): Promise<Meter>;
    /**
     * Create a new meter for a given vendor.
     * Create Meter
     */
    metersPostRaw(requestParameters: MetersPostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<Meter>>;
    /**
     * Create a new meter for a given vendor.
     * Create Meter
     */
    metersPost(requestParameters: MetersPostRequest, initOverrides?: RequestInit): Promise<Meter>;
}
