/**
 * 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 { ContactInfo, CreditGrant, CreditLedger, CustomerPaymentMethodStatus, CustomerPortalAccruedRevenue, CustomerPortalActiveSubscription, CustomerPortalActiveSubscriptionInputArgs, CustomerPortalAvailableCreditBalance, CustomerPortalContactInfoInputArgs, CustomerPortalCreditPurchase, CustomerPortalDailyAccruedRevenue, CustomerPortalInvoice, CustomerPortalMeter, CustomerPortalMeterLabelFilter, CustomerPortalPaymentMethod, CustomerPortalStripeCredential, CustomerPortalSubscription, CustomerPortalSubscriptionInputArgs, CustomerPortalToken, CustomerPortalTokenInputArgs, CustomerPortalUrl, CustomerPortalUsage, CustomerPortalVendor, PricePlan, SelfServeCustomization, SelfServeSettings } from '../models';
export interface EcpActiveSubscriptionPostRequest {
    customerPortalActiveSubscriptionInputArgs: CustomerPortalActiveSubscriptionInputArgs;
}
export interface EcpContactInfoPutRequest {
    customerPortalContactInfoInputArgs: CustomerPortalContactInfoInputArgs;
}
export interface EcpCreditPurchasePostRequest {
    customerPortalCreditPurchase: CustomerPortalCreditPurchase;
}
export interface EcpCustomerPortalUrlPostRequest {
    customerPortalTokenInputArgs: CustomerPortalTokenInputArgs;
}
export interface EcpFilteredUsagePostRequest {
    customerPortalMeterLabelFilter: CustomerPortalMeterLabelFilter;
}
export interface EcpSubscriptionPostRequest {
    customerPortalSubscriptionInputArgs: CustomerPortalSubscriptionInputArgs;
}
export interface EcpTokenPostRequest {
    customerPortalTokenInputArgs: CustomerPortalTokenInputArgs;
}
/**
 *
 */
export declare class CustomerPortalApi extends runtime.BaseAPI {
    /**
     * Fetch the customer\'s active subscription and related information if they exists. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Active Subscription
     */
    ecpActiveSubscriptionGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalActiveSubscription>>;
    /**
     * Fetch the customer\'s active subscription and related information if they exists. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Active Subscription
     */
    ecpActiveSubscriptionGet(initOverrides?: RequestInit): Promise<CustomerPortalActiveSubscription>;
    /**
     * Create/update the customer\'s subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Create/Update Active Subscription
     */
    ecpActiveSubscriptionPostRaw(requestParameters: EcpActiveSubscriptionPostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalSubscription>>;
    /**
     * Create/update the customer\'s subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Create/Update Active Subscription
     */
    ecpActiveSubscriptionPost(requestParameters: EcpActiveSubscriptionPostRequest, initOverrides?: RequestInit): Promise<CustomerPortalSubscription>;
    /**
     * Gets the customer\'s contact info. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Contact Info
     */
    ecpContactInfoGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContactInfo>>;
    /**
     * Gets the customer\'s contact info. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Contact Info
     */
    ecpContactInfoGet(initOverrides?: RequestInit): Promise<ContactInfo>;
    /**
     * Create/update the customer\'s contact info. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Create/Update Contact Info
     */
    ecpContactInfoPutRaw(requestParameters: EcpContactInfoPutRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<ContactInfo>>;
    /**
     * Create/update the customer\'s contact info. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Create/Update Contact Info
     */
    ecpContactInfoPut(requestParameters: EcpContactInfoPutRequest, initOverrides?: RequestInit): Promise<ContactInfo>;
    /**
     * Returns the credit balance. This is a live balance including the accrued revenue in the current cycle. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get the available credit balance.
     */
    ecpCreditAvailableBalanceGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalAvailableCreditBalance>>;
    /**
     * Returns the credit balance. This is a live balance including the accrued revenue in the current cycle. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get the available credit balance.
     */
    ecpCreditAvailableBalanceGet(initOverrides?: RequestInit): Promise<CustomerPortalAvailableCreditBalance>;
    /**
     * Returns the customer entire credit ledger. This can be used to compute the current and available credit balance. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Fetch the Credit Ledger
     */
    ecpCreditLedgerGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<CreditLedger>>>;
    /**
     * Returns the customer entire credit ledger. This can be used to compute the current and available credit balance. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Fetch the Credit Ledger
     */
    ecpCreditLedgerGet(initOverrides?: RequestInit): Promise<Array<CreditLedger>>;
    /**
     * Purchase the provided amount of credits at the default expiration and price set by the vendor. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Purchase Credits
     */
    ecpCreditPurchasePostRaw(requestParameters: EcpCreditPurchasePostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CreditGrant>>;
    /**
     * Purchase the provided amount of credits at the default expiration and price set by the vendor. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Purchase Credits
     */
    ecpCreditPurchasePost(requestParameters: EcpCreditPurchasePostRequest, initOverrides?: RequestInit): Promise<CreditGrant>;
    /**
     * Generate the url to the customer portal. This endpoint expects the vendor API key for authentication.
     * Generate Customer Portal Url
     */
    ecpCustomerPortalUrlPostRaw(requestParameters: EcpCustomerPortalUrlPostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalUrl>>;
    /**
     * Generate the url to the customer portal. This endpoint expects the vendor API key for authentication.
     * Generate Customer Portal Url
     */
    ecpCustomerPortalUrlPost(requestParameters: EcpCustomerPortalUrlPostRequest, initOverrides?: RequestInit): Promise<CustomerPortalUrl>;
    /**
     * Gets the daily accrued revenue for a customer broken down by line item until the beginning of the current hour. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Daily Accrued Revenue
     */
    ecpDailyAccruedRevenueGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<CustomerPortalDailyAccruedRevenue>>>;
    /**
     * Gets the daily accrued revenue for a customer broken down by line item until the beginning of the current hour. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Daily Accrued Revenue
     */
    ecpDailyAccruedRevenueGet(initOverrides?: RequestInit): Promise<Array<CustomerPortalDailyAccruedRevenue>>;
    /**
     * Get the customer\'s daily usage filtered by the inputted meter and labels. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Get Daily Usage For Meter
     */
    ecpFilteredUsagePostRaw(requestParameters: EcpFilteredUsagePostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalUsage>>;
    /**
     * Get the customer\'s daily usage filtered by the inputted meter and labels. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Get Daily Usage For Meter
     */
    ecpFilteredUsagePost(requestParameters: EcpFilteredUsagePostRequest, initOverrides?: RequestInit): Promise<CustomerPortalUsage>;
    /**
     * Get all invoices visible to the given customer. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Invoices
     */
    ecpInvoicesGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<CustomerPortalInvoice>>>;
    /**
     * Get all invoices visible to the given customer. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Invoices
     */
    ecpInvoicesGet(initOverrides?: RequestInit): Promise<Array<CustomerPortalInvoice>>;
    /**
     * Get the meters and corresponding primary label keys and values from the customer\'s active subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Meters and Primary Labels
     */
    ecpMetersGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<CustomerPortalMeter>>>;
    /**
     * Get the meters and corresponding primary label keys and values from the customer\'s active subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Meters and Primary Labels
     */
    ecpMetersGet(initOverrides?: RequestInit): Promise<Array<CustomerPortalMeter>>;
    /**
     * Get the customer\'s current payment method if it exists in their payment gateway. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Payment Method
     */
    ecpPaymentMethodGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalPaymentMethod>>;
    /**
     * Get the customer\'s current payment method if it exists in their payment gateway. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Payment Method
     */
    ecpPaymentMethodGet(initOverrides?: RequestInit): Promise<CustomerPortalPaymentMethod>;
    /**
     * Gets the customer\'s current payment method status. Returns a 400 if the customer has no configuration or if the current payment provider doesn\'t have customer-level payment status. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Payment Method Status
     */
    ecpPaymentMethodStatusGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPaymentMethodStatus>>;
    /**
     * Gets the customer\'s current payment method status. Returns a 400 if the customer has no configuration or if the current payment provider doesn\'t have customer-level payment status. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Payment Method Status
     */
    ecpPaymentMethodStatusGet(initOverrides?: RequestInit): Promise<CustomerPaymentMethodStatus>;
    /**
     * Get the url to the customer portal. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get the Customer Portal Url
     */
    ecpPortalUrlGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalUrl>>;
    /**
     * Get the url to the customer portal. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get the Customer Portal Url
     */
    ecpPortalUrlGet(initOverrides?: RequestInit): Promise<CustomerPortalUrl>;
    /**
     * Get all price plans visible to the given customer for self serve. By default, no price plans are visible. Price plan visibility can be configured by the vendor using the /price_plans/self_serve endpoint. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Self Serve Price Plans
     */
    ecpPricePlansGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<Array<PricePlan>>>;
    /**
     * Get all price plans visible to the given customer for self serve. By default, no price plans are visible. Price plan visibility can be configured by the vendor using the /price_plans/self_serve endpoint. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Self Serve Price Plans
     */
    ecpPricePlansGet(initOverrides?: RequestInit): Promise<Array<PricePlan>>;
    /**
     * Get the customer\'s self serve customization. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Self Serve Customization.
     */
    ecpSelfServeCustomizationGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<SelfServeCustomization>>;
    /**
     * Get the customer\'s self serve customization. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Self Serve Customization.
     */
    ecpSelfServeCustomizationGet(initOverrides?: RequestInit): Promise<SelfServeCustomization>;
    /**
     * Get the customer\'s self serve settings. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Self Serve Settings.
     */
    ecpSelfServeSettingsGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<SelfServeSettings>>;
    /**
     * Get the customer\'s self serve settings. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Self Serve Settings.
     */
    ecpSelfServeSettingsGet(initOverrides?: RequestInit): Promise<SelfServeSettings>;
    /**
     * Attempt to create a Stripe SetupIntent object. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Create SetupIntent
     */
    ecpSetupIntentPostRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalStripeCredential>>;
    /**
     * Attempt to create a Stripe SetupIntent object. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Create SetupIntent
     */
    ecpSetupIntentPost(initOverrides?: RequestInit): Promise<CustomerPortalStripeCredential>;
    /**
     * Cancel the customer\'s subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Cancel Subscription
     */
    ecpSubscriptionDeleteRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<void>>;
    /**
     * Cancel the customer\'s subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Cancel Subscription
     */
    ecpSubscriptionDelete(initOverrides?: RequestInit): Promise<void>;
    /**
     * Fetch the customer\'s active price plan if it exists. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Price Plan
     */
    ecpSubscriptionGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalSubscription>>;
    /**
     * Fetch the customer\'s active price plan if it exists. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Price Plan
     */
    ecpSubscriptionGet(initOverrides?: RequestInit): Promise<CustomerPortalSubscription>;
    /**
     * Create/update the customer\'s subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Create/Update Subscription
     */
    ecpSubscriptionPostRaw(requestParameters: EcpSubscriptionPostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalSubscription>>;
    /**
     * Create/update the customer\'s subscription. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name in the request body.
     * Create/Update Subscription
     */
    ecpSubscriptionPost(requestParameters: EcpSubscriptionPostRequest, initOverrides?: RequestInit): Promise<CustomerPortalSubscription>;
    /**
     * Generate a customer-scoped JWT to authorize access to ECP endpoints. This endpoint expects the vendor API key for authentication.
     * Exchange Access Token
     */
    ecpTokenPostRaw(requestParameters: EcpTokenPostRequest, initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalToken>>;
    /**
     * Generate a customer-scoped JWT to authorize access to ECP endpoints. This endpoint expects the vendor API key for authentication.
     * Exchange Access Token
     */
    ecpTokenPost(requestParameters: EcpTokenPostRequest, initOverrides?: RequestInit): Promise<CustomerPortalToken>;
    /**
     * Gets the total accrued revenue for a customer broken down by line item until the beginning of the current hour. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Total Accrued Revenue
     */
    ecpTotalAccruedRevenueGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalAccruedRevenue>>;
    /**
     * Gets the total accrued revenue for a customer broken down by line item until the beginning of the current hour. This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Total Accrued Revenue
     */
    ecpTotalAccruedRevenueGet(initOverrides?: RequestInit): Promise<CustomerPortalAccruedRevenue>;
    /**
     * Get relevant information about the customer\'s vendor.This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Vendor Information
     */
    ecpVendorGetRaw(initOverrides?: RequestInit): Promise<runtime.ApiResponse<CustomerPortalVendor>>;
    /**
     * Get relevant information about the customer\'s vendor.This endpoint expects the customer-scoped token for authentication. If using vendor api key, you must also provide the customer name as a url parameter.
     * Get Vendor Information
     */
    ecpVendorGet(initOverrides?: RequestInit): Promise<CustomerPortalVendor>;
}
