/**
 * API
 * Audius V1 API
 *
 * The version of the OpenAPI document: 1.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 type { CreateAccessKeyResponse, CreateDeveloperAppRequestBody, CreateDeveloperAppResponse, DeactivateAccessKeyRequestBody, DeactivateAccessKeyResponse, DeveloperAppResponse, DeveloperAppsResponse, RegisterApiKeyRequestBody, RegisterApiKeyResponse, UpdateDeveloperAppRequestBody, WriteResponse } from '../models';
export interface CreateDeveloperAppRequest {
    userId: string;
    metadata: CreateDeveloperAppRequestBody;
}
export interface CreateDeveloperAppAccessKeyRequest {
    userId: string;
    address: string;
}
export interface DeactivateDeveloperAppAccessKeyRequest {
    userId: string;
    address: string;
    metadata: DeactivateAccessKeyRequestBody;
}
export interface DeleteDeveloperAppRequest {
    userId: string;
    address: string;
}
export interface GetDeveloperAppRequest {
    address: string;
}
export interface GetDeveloperAppsRequest {
    id: string;
    include?: GetDeveloperAppsIncludeEnum;
}
export interface RegisterDeveloperAppAPIKeyRequest {
    userId: string;
    address: string;
    metadata: RegisterApiKeyRequestBody;
}
export interface UpdateDeveloperAppRequest {
    userId: string;
    address: string;
    metadata: UpdateDeveloperAppRequestBody;
}
/**
 *
 */
export declare class DeveloperAppsApi extends runtime.BaseAPI {
    /**
     * @hidden
     * Create a new developer app. Indexer validates grants.
     */
    createDeveloperAppRaw(params: CreateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateDeveloperAppResponse>>;
    /**
     * Create a new developer app. Indexer validates grants.
     */
    createDeveloperApp(params: CreateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateDeveloperAppResponse>;
    /**
     * @hidden
     * Create a new bearer token (API access key) for a developer app. Indexer validates grants.
     */
    createDeveloperAppAccessKeyRaw(params: CreateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<CreateAccessKeyResponse>>;
    /**
     * Create a new bearer token (API access key) for a developer app. Indexer validates grants.
     */
    createDeveloperAppAccessKey(params: CreateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<CreateAccessKeyResponse>;
    /**
     * @hidden
     * Deactivate a bearer token (API access key) for a developer app. Indexer validates grants.
     */
    deactivateDeveloperAppAccessKeyRaw(params: DeactivateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeactivateAccessKeyResponse>>;
    /**
     * Deactivate a bearer token (API access key) for a developer app. Indexer validates grants.
     */
    deactivateDeveloperAppAccessKey(params: DeactivateDeveloperAppAccessKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeactivateAccessKeyResponse>;
    /**
     * @hidden
     * Deletes a developer app. Indexer validates grants.
     */
    deleteDeveloperAppRaw(params: DeleteDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Deletes a developer app. Indexer validates grants.
     */
    deleteDeveloperApp(params: DeleteDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
    /**
     * @hidden
     * Gets developer app matching given address (API key)
     */
    getDeveloperAppRaw(params: GetDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeveloperAppResponse>>;
    /**
     * Gets developer app matching given address (API key)
     */
    getDeveloperApp(params: GetDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeveloperAppResponse>;
    /**
     * @hidden
     * Get developer apps for the user.
     */
    getDeveloperAppsRaw(params: GetDeveloperAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<DeveloperAppsResponse>>;
    /**
     * Get developer apps for the user.
     */
    getDeveloperApps(params: GetDeveloperAppsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<DeveloperAppsResponse>;
    /**
     * @hidden
     * Register api_key and api_secret in api_keys table for developer apps created via entity manager transactions. Use when the client sends raw ManageEntity tx instead of POST /developer-apps. Inserts with rps=10, rpm=500000. Requires the app to exist in developer_apps and belong to the authenticated user.
     */
    registerDeveloperAppAPIKeyRaw(params: RegisterDeveloperAppAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<RegisterApiKeyResponse>>;
    /**
     * Register api_key and api_secret in api_keys table for developer apps created via entity manager transactions. Use when the client sends raw ManageEntity tx instead of POST /developer-apps. Inserts with rps=10, rpm=500000. Requires the app to exist in developer_apps and belong to the authenticated user.
     */
    registerDeveloperAppAPIKey(params: RegisterDeveloperAppAPIKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<RegisterApiKeyResponse>;
    /**
     * @hidden
     * Updates a developer app. Indexer validates grants.
     */
    updateDeveloperAppRaw(params: UpdateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<WriteResponse>>;
    /**
     * Updates a developer app. Indexer validates grants.
     */
    updateDeveloperApp(params: UpdateDeveloperAppRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<WriteResponse>;
}
/**
 * @export
 */
export declare const GetDeveloperAppsIncludeEnum: {
    readonly Metrics: "metrics";
};
export type GetDeveloperAppsIncludeEnum = typeof GetDeveloperAppsIncludeEnum[keyof typeof GetDeveloperAppsIncludeEnum];
