/**
 * KubeBlocks Cloud API
 * KubeBlocks Cloud API is a RESTful API for managing KubeBlocks Cloud resources.  The API is organized around REST.  Our API has predictable resource-oriented URLs, accepts `JSON-encoded` request bodies, returns `JSON-encoded` responses, and uses standard HTTP response codes, authentication, and verbs.  We use standard HTTP authentication and provide API keys to identify who you are. Your API keys carry many privileges, so be sure to keep them secret! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, and so forth.
 *
 * The version of the OpenAPI document: 1.0.0
 * Contact: support@apecloud.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */
import type { Configuration } from '../configuration';
import type { AxiosPromise, AxiosInstance, RawAxiosRequestConfig } from 'axios';
import { type RequestArgs, BaseAPI } from '../base';
import type { Account } from '../models';
import type { DbTDERequest } from '../models';
/**
 * MssqlApi - axios parameter creator
 * @export
 */
export declare const MssqlApiAxiosParamCreator: (configuration?: Configuration) => {
    /**
     *
     * @summary delete mssql account compatible with windows account
     * @param {string} orgName name of the organization
     * @param {string} clusterName name of the cluster
     * @param {string} account name of the account
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMssqlAccount: (orgName: string, clusterName: string, account: string, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary batch modify database tde status
     * @param {string} orgName name of the organization
     * @param {string} clusterName name of the cluster
     * @param {DbTDERequest} [dbTDERequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    manageMssqlTDEDatabase: (orgName: string, clusterName: string, dbTDERequest?: DbTDERequest, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
    /**
     *
     * @summary update mssql account compatible with windows account
     * @param {string} orgName name of the organization
     * @param {string} clusterName name of the cluster
     * @param {Account} [account]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateMssqlAccount: (orgName: string, clusterName: string, account?: Account, options?: RawAxiosRequestConfig) => Promise<RequestArgs>;
};
/**
 * MssqlApi - functional programming interface
 * @export
 */
export declare const MssqlApiFp: (configuration?: Configuration) => {
    /**
     *
     * @summary delete mssql account compatible with windows account
     * @param {string} orgName name of the organization
     * @param {string} clusterName name of the cluster
     * @param {string} account name of the account
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMssqlAccount(orgName: string, clusterName: string, account: string, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary batch modify database tde status
     * @param {string} orgName name of the organization
     * @param {string} clusterName name of the cluster
     * @param {DbTDERequest} [dbTDERequest]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    manageMssqlTDEDatabase(orgName: string, clusterName: string, dbTDERequest?: DbTDERequest, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
    /**
     *
     * @summary update mssql account compatible with windows account
     * @param {string} orgName name of the organization
     * @param {string} clusterName name of the cluster
     * @param {Account} [account]
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateMssqlAccount(orgName: string, clusterName: string, account?: Account, options?: RawAxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<void>>;
};
/**
 * MssqlApi - factory interface
 * @export
 */
export declare const MssqlApiFactory: (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) => {
    /**
     *
     * @summary delete mssql account compatible with windows account
     * @param {MssqlApiDeleteMssqlAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    deleteMssqlAccount(requestParameters: MssqlApiDeleteMssqlAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary batch modify database tde status
     * @param {MssqlApiManageMssqlTDEDatabaseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    manageMssqlTDEDatabase(requestParameters: MssqlApiManageMssqlTDEDatabaseRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary update mssql account compatible with windows account
     * @param {MssqlApiUpdateMssqlAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     */
    updateMssqlAccount(requestParameters: MssqlApiUpdateMssqlAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
};
/**
 * MssqlApi - interface
 * @export
 * @interface MssqlApi
 */
export interface MssqlApiInterface {
    /**
     *
     * @summary delete mssql account compatible with windows account
     * @param {MssqlApiDeleteMssqlAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MssqlApiInterface
     */
    deleteMssqlAccount(requestParameters: MssqlApiDeleteMssqlAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary batch modify database tde status
     * @param {MssqlApiManageMssqlTDEDatabaseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MssqlApiInterface
     */
    manageMssqlTDEDatabase(requestParameters: MssqlApiManageMssqlTDEDatabaseRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
    /**
     *
     * @summary update mssql account compatible with windows account
     * @param {MssqlApiUpdateMssqlAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MssqlApiInterface
     */
    updateMssqlAccount(requestParameters: MssqlApiUpdateMssqlAccountRequest, options?: RawAxiosRequestConfig): AxiosPromise<void>;
}
/**
 * Request parameters for deleteMssqlAccount operation in MssqlApi.
 * @export
 * @interface MssqlApiDeleteMssqlAccountRequest
 */
export interface MssqlApiDeleteMssqlAccountRequest {
    /**
     * name of the organization
     * @type {string}
     * @memberof MssqlApiDeleteMssqlAccount
     */
    readonly orgName: string;
    /**
     * name of the cluster
     * @type {string}
     * @memberof MssqlApiDeleteMssqlAccount
     */
    readonly clusterName: string;
    /**
     * name of the account
     * @type {string}
     * @memberof MssqlApiDeleteMssqlAccount
     */
    readonly account: string;
}
/**
 * Request parameters for manageMssqlTDEDatabase operation in MssqlApi.
 * @export
 * @interface MssqlApiManageMssqlTDEDatabaseRequest
 */
export interface MssqlApiManageMssqlTDEDatabaseRequest {
    /**
     * name of the organization
     * @type {string}
     * @memberof MssqlApiManageMssqlTDEDatabase
     */
    readonly orgName: string;
    /**
     * name of the cluster
     * @type {string}
     * @memberof MssqlApiManageMssqlTDEDatabase
     */
    readonly clusterName: string;
    /**
     *
     * @type {DbTDERequest}
     * @memberof MssqlApiManageMssqlTDEDatabase
     */
    readonly dbTDERequest?: DbTDERequest;
}
/**
 * Request parameters for updateMssqlAccount operation in MssqlApi.
 * @export
 * @interface MssqlApiUpdateMssqlAccountRequest
 */
export interface MssqlApiUpdateMssqlAccountRequest {
    /**
     * name of the organization
     * @type {string}
     * @memberof MssqlApiUpdateMssqlAccount
     */
    readonly orgName: string;
    /**
     * name of the cluster
     * @type {string}
     * @memberof MssqlApiUpdateMssqlAccount
     */
    readonly clusterName: string;
    /**
     *
     * @type {Account}
     * @memberof MssqlApiUpdateMssqlAccount
     */
    readonly account?: Account;
}
/**
 * MssqlApi - object-oriented interface
 * @export
 * @class MssqlApi
 * @extends {BaseAPI}
 */
export declare class MssqlApi extends BaseAPI implements MssqlApiInterface {
    /**
     *
     * @summary delete mssql account compatible with windows account
     * @param {MssqlApiDeleteMssqlAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MssqlApi
     */
    deleteMssqlAccount(requestParameters: MssqlApiDeleteMssqlAccountRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     *
     * @summary batch modify database tde status
     * @param {MssqlApiManageMssqlTDEDatabaseRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MssqlApi
     */
    manageMssqlTDEDatabase(requestParameters: MssqlApiManageMssqlTDEDatabaseRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
    /**
     *
     * @summary update mssql account compatible with windows account
     * @param {MssqlApiUpdateMssqlAccountRequest} requestParameters Request parameters.
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof MssqlApi
     */
    updateMssqlAccount(requestParameters: MssqlApiUpdateMssqlAccountRequest, options?: RawAxiosRequestConfig): Promise<import("axios").AxiosResponse<void, any, {}>>;
}
//# sourceMappingURL=mssql-api.d.ts.map