import { M2mCreateParams, M2mCreateResponse, M2mDeleteParams, M2mGetParams, M2mGetResponse, M2mListResponse, M2mListV2Params, M2mListV2Response, M2mRotateSecretParams, M2mRotateSecretResponse, M2mUpdateParams, M2mUpdateResponse, OystehrClientRequest } from '../..';
import { SDKResource } from '../../client/client';
import { OystehrConfig } from '../../config';
export declare class M2m extends SDKResource {
    #private;
    constructor(config: OystehrConfig);
    /**
     * DEPRECATED. Please use [v2/list](https://api-reference.oystehr.com/reference/get_m2m-v2-list) instead.
     *
     * Get a list of all M2M Clients. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:ListAllM2MClients`
     * Access Policy Resource: `IAM:M2MClient`
     */
    list(request?: OystehrClientRequest): Promise<M2mListResponse>;
    /**
     * Create a new M2M Client. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:CreateM2MClient`
     * Access Policy Resource: `IAM:M2MClient`
     */
    create(params: M2mCreateParams, request?: OystehrClientRequest): Promise<M2mCreateResponse>;
    /**
     * Get the M2M Client with the provided ID. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:GetM2MClient`
     * Access Policy Resource: `IAM:M2MClient`
     */
    get(params: M2mGetParams, request?: OystehrClientRequest): Promise<M2mGetResponse>;
    /**
     * Update the M2M Client with the provided ID. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:UpdateM2MClient`
     * Access Policy Resource: `IAM:M2MClient`
     */
    update(params: M2mUpdateParams, request?: OystehrClientRequest): Promise<M2mUpdateResponse>;
    /**
     * Delete the M2M Client with the provided ID. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:DeleteM2MClient`
     * Access Policy Resource: `IAM:M2MClient`
     */
    delete(params: M2mDeleteParams, request?: OystehrClientRequest): Promise<void>;
    /**
     * Rotate the client secret for the M2M Client with the provided ID. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:RotateM2MClientSecret`
     * Access Policy Resource: `IAM:M2MClient`
     */
    rotateSecret(params: M2mRotateSecretParams, request?: OystehrClientRequest): Promise<M2mRotateSecretResponse>;
    /**
     * Get M2M clients in the Project with pagination, sort, sort order and filtering. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:ListAllM2MClients`
     * Access Policy Resource: `IAM:M2MClient`
     */
    listV2(params: M2mListV2Params, request?: OystehrClientRequest): Promise<M2mListV2Response>;
    /**
     * Get M2M clients in the Project with pagination, sort, sort order and filtering. [M2M Clients](https://docs.oystehr.com/oystehr/services/iam/m2m-clients) are used to access Oystehr APIs from scripts and server-side code like [Zambda Functions](https://docs.oystehr.com/oystehr/services/zambda).
     *
     * Access Policy Action: `App:ListAllM2MClients`
     * Access Policy Resource: `IAM:M2MClient`
     */
    listV2(request?: OystehrClientRequest): Promise<M2mListV2Response>;
}
