/**
 * devopness API
 * Devopness API - Painless essential DevOps to everyone
 *
 * The version of the OpenAPI document: latest
 *
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import { ApiBaseService } from "../../../services/ApiBaseService";
import { ApiResponse } from "../../../common/ApiResponse";
import { Credential } from '../../generated/models';
import { CredentialOrganizationCreate } from '../../generated/models';
import { CredentialRelation } from '../../generated/models';
import { CredentialSetting } from '../../generated/models';
import { CredentialUpdate } from '../../generated/models';
/**
 * CredentialsApiService - Auto-generated
 */
export declare class CredentialsApiService extends ApiBaseService {
    /**
     *
     * @summary Add a Credential to the given organization
     * @param {string} organizationId The numeric ID or URL Slug of an organization.
     * @param {CredentialOrganizationCreate} credentialOrganizationCreate A JSON object containing the resource data
     */
    addOrganizationCredential(organizationId: string, credentialOrganizationCreate: CredentialOrganizationCreate): Promise<ApiResponse<Credential>>;
    /**
     *
     * @summary Delete a given credential
     * @param {number} credentialId The ID of the credential.
     */
    deleteCredential(credentialId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Get a credential by ID
     * @param {number} credentialId The ID of the credential.
     */
    getCredential(credentialId: number): Promise<ApiResponse<Credential>>;
    /**
     *
     * @summary Return provider settings
     * @param {number} environmentId The ID of the environment.
     * @param {string} providerCode The code of the provider.
     * @param {string} [state] Optional base64-encoded JSON state to be included in connect URLs.
     */
    getEnvironmentCredentialSettings(environmentId: number, providerCode: string, state?: string): Promise<ApiResponse<CredentialSetting>>;
    /**
     *
     * @summary Return provider settings
     * @param {string} organizationId The ID or slug of the organization.
     * @param {string} providerCode The code of the provider.
     * @param {string} [state] Optional base64-encoded JSON state to be included in connect URLs.
     */
    getOrganizationCredentialSettings(organizationId: string, providerCode: string, state?: string): Promise<ApiResponse<CredentialSetting>>;
    /**
     *
     * @summary Get current status of a credential on its provider
     * @param {number} credentialId The ID of the credential.
     */
    getStatusCredential(credentialId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Link a credential to an environment
     * @param {number} credentialId The credential ID.
     * @param {number} environmentId The environment ID.
     */
    linkCredentialToEnvironment(credentialId: number, environmentId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Return a list of all Credentials linked to an environment
     * @param {number} environmentId The ID of the environment.
     * @param {number} [page] Number of the page to be retrieved
     * @param {number} [perPage] Number of items returned per page
     * @param {string} [providerCode] Filter credentials by provider code.
     * @param {string} [providerType] Filter credentials by provider type.
     */
    listEnvironmentCredentials(environmentId: number, page?: number, perPage?: number, providerCode?: string, providerType?: string): Promise<ApiResponse<Array<CredentialRelation>>>;
    /**
     *
     * @summary Return a list of all Credentials belonging to an organization
     * @param {string} organizationId The numeric ID or URL Slug of an organization.
     * @param {number} [page] Number of the page to be retrieved
     * @param {number} [perPage] Number of items returned per page
     * @param {string} [providerCode] Filter credentials by provider code.
     * @param {string} [providerType] Filter credentials by provider type.
     */
    listOrganizationCredentials(organizationId: string, page?: number, perPage?: number, providerCode?: string, providerType?: string): Promise<ApiResponse<Array<CredentialRelation>>>;
    /**
     *
     * @summary Unlink a credential from an environment
     * @param {number} credentialId The credential ID.
     * @param {number} environmentId The environment ID.
     */
    unlinkCredentialFromEnvironment(credentialId: number, environmentId: number): Promise<ApiResponse<void>>;
    /**
     *
     * @summary Update an existing Credential
     * @param {number} credentialId The ID of the credential.
     * @param {CredentialUpdate} credentialUpdate A JSON object containing the resource data
     */
    updateCredential(credentialId: number, credentialUpdate: CredentialUpdate): Promise<ApiResponse<void>>;
}
