import type { EndpointRequest, Operation } from './../../types/common.ts';
export interface IEndpoints {
    'DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}', 'delete'>;
    'GET /policies/roleManagementPolicies': Operation<'/policies/roleManagementPolicies', 'get'>;
    'GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}', 'get'>;
    'PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}', 'patch'>;
    'POST /policies/roleManagementPolicies': Operation<'/policies/roleManagementPolicies', 'post'>;
    'GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules', 'get'>;
    'POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules', 'post'>;
    'GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}', 'get'>;
    'PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}', 'patch'>;
    'DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}', 'delete'>;
    'GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules', 'get'>;
    'POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules', 'post'>;
    'GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}', 'get'>;
    'PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}', 'patch'>;
    'DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}': Operation<'/policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}', 'delete'>;
}
/**
 * `DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}`
 *
 */
export declare function del(params?: IEndpoints['DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}']['parameters']): EndpointRequest<IEndpoints['DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}']['response']>;
/**
 * `GET /policies/roleManagementPolicies`
 *
 * Get the details of the policies in PIM that can be applied to Microsoft Entra roles or group membership or ownership. To retrieve policies that apply to Azure RBAC, use the Azure REST PIM API for role management policies.
 */
export declare function list(params?: IEndpoints['GET /policies/roleManagementPolicies']['parameters']): EndpointRequest<IEndpoints['GET /policies/roleManagementPolicies']['response']>;
/**
 * `GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}`
 *
 * Represents the role management policies.
 */
export declare function get(params?: IEndpoints['GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}']['parameters']): EndpointRequest<IEndpoints['GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}']['response']>;
/**
 * `PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}`
 *
 */
export declare function update(body: IEndpoints['PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}']['body'], params?: IEndpoints['PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}']['parameters']): EndpointRequest<IEndpoints['PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}']['response']>;
/**
 * `POST /policies/roleManagementPolicies`
 *
 */
export declare function create(body: IEndpoints['POST /policies/roleManagementPolicies']['body']): EndpointRequest<IEndpoints['POST /policies/roleManagementPolicies']['response']>;
export declare const effectiveRules: {
    /**
     * `GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules`
     *
     * Get the unifiedRoleManagementPolicyRule resources from the effectiveRules navigation property. To retrieve rules for a policy that applies to Azure RBAC, use the Azure REST PIM API for role management policies.
     */
    list: (params?: IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules"]["parameters"]) => EndpointRequest<IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules"]["response"]>;
    /**
     * `POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules`
     *
     */
    create: (body: IEndpoints["POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules"]["body"], params?: IEndpoints["POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules"]["parameters"]) => EndpointRequest<IEndpoints["POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules"]["response"]>;
    /**
     * `GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}`
     *
     * The list of effective rules like approval rules and expiration rules evaluated based on inherited referenced rules. For example, if there is a tenant-wide policy to enforce enabling an approval rule, the effective rule will be to enable approval even if the policy has a rule to disable approval. Supports $expand.
     */
    get: (params?: IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}"]["parameters"]) => EndpointRequest<IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}"]["response"]>;
    /**
     * `PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}`
     *
     */
    update: (body: IEndpoints["PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}"]["body"], params?: IEndpoints["PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}"]["parameters"]) => EndpointRequest<IEndpoints["PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}"]["response"]>;
    /**
     * `DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}`
     *
     */
    del: (params?: IEndpoints["DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}"]["parameters"]) => EndpointRequest<IEndpoints["DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/effectiveRules/{unifiedRoleManagementPolicyRule-id}"]["response"]>;
};
export declare const rules: {
    /**
    * `GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules`
    *
    * Get the rules defined for a role management policy. The rules are a collection of following types that are derived from the unifiedRoleManagementPolicyRule object:
  + unifiedRoleManagementPolicyApprovalRule
  + unifiedRoleManagementPolicyAuthenticationContextRule
  + unifiedRoleManagementPolicyEnablementRule
  + unifiedRoleManagementPolicyExpirationRule
  + unifiedRoleManagementPolicyNotificationRule To retrieve rules for a policy that applies to Azure RBAC, use the Azure REST PIM API for role management policies.
    */
    list: (params?: IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules"]["parameters"]) => EndpointRequest<IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules"]["response"]>;
    /**
     * `POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules`
     *
     */
    create: (body: IEndpoints["POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules"]["body"], params?: IEndpoints["POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules"]["parameters"]) => EndpointRequest<IEndpoints["POST /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules"]["response"]>;
    /**
     * `GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}`
     *
     * Retrieve a rule defined for a role management policy. The rule can be one of the following types that are derived from the unifiedRoleManagementPolicyRule object:
     */
    get: (params?: IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}"]["parameters"]) => EndpointRequest<IEndpoints["GET /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}"]["response"]>;
    /**
    * `PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}`
    *
    * Update a rule defined for a role management policy. The rule can be one of the following types that are derived from the unifiedRoleManagementPolicyRule object: For more information about rules for Microsoft Entra roles and examples of updating rules, see the following articles:
  + Overview of rules for Microsoft Entra roles in PIM APIs in Microsoft Graph
  + Use PIM APIs in Microsoft Graph to update Microsoft Entra ID rules
    */
    update: (body: IEndpoints["PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}"]["body"], params?: IEndpoints["PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}"]["parameters"]) => EndpointRequest<IEndpoints["PATCH /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}"]["response"]>;
    /**
     * `DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}`
     *
     */
    del: (params?: IEndpoints["DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}"]["parameters"]) => EndpointRequest<IEndpoints["DELETE /policies/roleManagementPolicies/{unifiedRoleManagementPolicy-id}/rules/{unifiedRoleManagementPolicyRule-id}"]["response"]>;
};
