/**
 * Azure Management API
 *
 * Generated from the Azure REST API specs.
 * DO NOT EDIT - regenerate with: bun run generate
 */
import * as Schema from "effect/Schema";
export declare const CheckNameAvailabilityInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type CheckNameAvailabilityInput = typeof CheckNameAvailabilityInput.Type;
export declare const CheckNameAvailabilityOutput: Schema.Struct<{
    readonly nameAvailable: Schema.optional<Schema.Boolean>;
    readonly reason: Schema.optional<Schema.Literals<readonly ["Invalid", "AlreadyExists"]>>;
    readonly message: Schema.optional<Schema.String>;
}>;
export type CheckNameAvailabilityOutput = typeof CheckNameAvailabilityOutput.Type;
/**
 * Checks if the specified management group name is valid and unique
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const CheckNameAvailability: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly message?: string | undefined;
    readonly nameAvailable?: boolean | undefined;
    readonly reason?: "AlreadyExists" | "Invalid" | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const EntitiesListInput: Schema.Struct<{
    readonly "api-version": Schema.String;
    readonly $skiptoken: Schema.optional<Schema.String>;
    readonly $skip: Schema.optional<Schema.Number>;
    readonly $top: Schema.optional<Schema.Number>;
    readonly $select: Schema.optional<Schema.String>;
    readonly $search: Schema.optional<Schema.Literals<readonly ["AllowedParents", "AllowedChildren", "ParentAndFirstLevelChildren", "ParentOnly", "ChildrenOnly"]>>;
    readonly $filter: Schema.optional<Schema.String>;
    readonly $view: Schema.optional<Schema.Literals<readonly ["FullHierarchy", "GroupsOnly", "SubscriptionsOnly", "Audit"]>>;
    readonly groupName: Schema.optional<Schema.String>;
}>;
export type EntitiesListInput = typeof EntitiesListInput.Type;
export declare const EntitiesListOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly type: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly name: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly tenantId: Schema.optional<Schema.NullOr<Schema.String>>;
            readonly displayName: Schema.optional<Schema.NullOr<Schema.String>>;
            readonly parent: Schema.optional<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
            }>>;
            readonly permissions: Schema.optional<Schema.Literals<readonly ["noaccess", "view", "edit", "delete"]>>;
            readonly inheritedPermissions: Schema.optional<Schema.Literals<readonly ["noaccess", "view", "edit", "delete"]>>;
            readonly numberOfDescendants: Schema.optional<Schema.NullOr<Schema.Number>>;
            readonly numberOfChildren: Schema.optional<Schema.NullOr<Schema.Number>>;
            readonly numberOfChildGroups: Schema.optional<Schema.NullOr<Schema.Number>>;
            readonly parentDisplayNameChain: Schema.optional<Schema.NullOr<Schema.$Array<Schema.String>>>;
            readonly parentNameChain: Schema.optional<Schema.NullOr<Schema.$Array<Schema.String>>>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
    readonly count: Schema.optional<Schema.Number>;
}>;
export type EntitiesListOutput = typeof EntitiesListOutput.Type;
/**
 * List all entities (Management Groups, Subscriptions, etc.) for the authenticated user.
 *
 * @param api-version - The API version to use for this operation.
 * @param $skiptoken - Page continuation token is only used if a previous operation returned a partial result.
If a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.
 * @param $skip - Number of entities to skip over when retrieving results. Passing this in will override $skipToken.
 * @param $top - Number of elements to return when retrieving results. Passing this in will override $skipToken.
 * @param $select - This parameter specifies the fields to include in the response. Can include any combination of Name,DisplayName,Type,ParentDisplayNameChain,ParentChain, e.g. '$select=Name,DisplayName,Type,ParentDisplayNameChain,ParentNameChain'. When specified the $select parameter can override select in $skipToken.
 * @param $search - The $search parameter is used in conjunction with the $filter parameter to return three different outputs depending on the parameter passed in.
With $search=AllowedParents the API will return the entity info of all groups that the requested entity will be able to reparent to as determined by the user's permissions.
With $search=AllowedChildren the API will return the entity info of all entities that can be added as children of the requested entity.
With $search=ParentAndFirstLevelChildren the API will return the parent and  first level of children that the user has either direct access to or indirect access via one of their descendants.
With $search=ParentOnly the API will return only the group if the user has access to at least one of the descendants of the group.
With $search=ChildrenOnly the API will return only the first level of children of the group entity info specified in $filter.  The user must have direct access to the children entities or one of it's descendants for it to show up in the results.
 * @param $filter - The filter parameter allows you to filter on the the name or display name fields. You can check for equality on the name field (e.g. name eq '{entityName}')  and you can check for substrings on either the name or display name fields(e.g. contains(name, '{substringToSearch}'), contains(displayName, '{substringToSearch')). Note that the '{entityName}' and '{substringToSearch}' fields are checked case insensitively.
 * @param $view - The view parameter allows clients to filter the type of data that is returned by the getEntities call.
 * @param groupName - A filter which allows the get entities call to focus on a particular group (i.e. "$filter=name eq 'groupName'")
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const EntitiesList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly $search?: "AllowedChildren" | "AllowedParents" | "ChildrenOnly" | "ParentAndFirstLevelChildren" | "ParentOnly" | undefined;
    readonly $select?: string | undefined;
    readonly $skip?: number | undefined;
    readonly $skiptoken?: string | undefined;
    readonly $top?: number | undefined;
    readonly $view?: "Audit" | "FullHierarchy" | "GroupsOnly" | "SubscriptionsOnly" | undefined;
    readonly "api-version": string;
    readonly groupName?: string | undefined;
}, {
    readonly count?: number | undefined;
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | null | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly displayName?: string | null | undefined;
            readonly inheritedPermissions?: "delete" | "edit" | "noaccess" | "view" | undefined;
            readonly numberOfChildGroups?: number | null | undefined;
            readonly numberOfChildren?: number | null | undefined;
            readonly numberOfDescendants?: number | null | undefined;
            readonly parent?: {
                readonly id?: string | undefined;
            } | undefined;
            readonly parentDisplayNameChain?: readonly string[] | null | undefined;
            readonly parentNameChain?: readonly string[] | null | undefined;
            readonly permissions?: "delete" | "edit" | "noaccess" | "view" | undefined;
            readonly tenantId?: string | null | undefined;
        } | undefined;
        readonly type?: string | null | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const HierarchySettingsCreateOrUpdateInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type HierarchySettingsCreateOrUpdateInput = typeof HierarchySettingsCreateOrUpdateInput.Type;
export declare const HierarchySettingsCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type HierarchySettingsCreateOrUpdateOutput = typeof HierarchySettingsCreateOrUpdateOutput.Type;
/**
 * Creates or updates the hierarchy settings defined at the Management Group level.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 */
export declare const HierarchySettingsCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const HierarchySettingsDeleteInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type HierarchySettingsDeleteInput = typeof HierarchySettingsDeleteInput.Type;
export declare const HierarchySettingsDeleteOutput: Schema.Void;
export type HierarchySettingsDeleteOutput = typeof HierarchySettingsDeleteOutput.Type;
/**
 * Deletes the hierarchy settings defined at the Management Group level.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 */
export declare const HierarchySettingsDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const HierarchySettingsGetInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type HierarchySettingsGetInput = typeof HierarchySettingsGetInput.Type;
export declare const HierarchySettingsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type HierarchySettingsGetOutput = typeof HierarchySettingsGetOutput.Type;
/**
 * Gets the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 */
export declare const HierarchySettingsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const HierarchySettingsListInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type HierarchySettingsListInput = typeof HierarchySettingsListInput.Type;
export declare const HierarchySettingsListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly tenantId: Schema.optional<Schema.String>;
            readonly requireAuthorizationForGroupCreation: Schema.optional<Schema.Boolean>;
            readonly defaultManagementGroup: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly "@nextLink": Schema.optional<Schema.String>;
}>;
export type HierarchySettingsListOutput = typeof HierarchySettingsListOutput.Type;
/**
 * Gets all the hierarchy settings defined at the Management Group level. Settings can only be set on the root Management Group of the hierarchy.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 */
export declare const HierarchySettingsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly "@nextLink"?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly defaultManagementGroup?: string | undefined;
            readonly requireAuthorizationForGroupCreation?: boolean | undefined;
            readonly tenantId?: string | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const HierarchySettingsUpdateInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type HierarchySettingsUpdateInput = typeof HierarchySettingsUpdateInput.Type;
export declare const HierarchySettingsUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type HierarchySettingsUpdateOutput = typeof HierarchySettingsUpdateOutput.Type;
/**
 * Updates the hierarchy settings defined at the Management Group level.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 */
export declare const HierarchySettingsUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupsCreateOrUpdateInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ManagementGroupsCreateOrUpdateInput = typeof ManagementGroupsCreateOrUpdateInput.Type;
export declare const ManagementGroupsCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type ManagementGroupsCreateOrUpdateOutput = typeof ManagementGroupsCreateOrUpdateOutput.Type;
/**
 * Create or update a management group.
 * If a management group is already created and a subsequent create request is issued with different properties, the management group properties will be updated.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const ManagementGroupsCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupsDeleteInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ManagementGroupsDeleteInput = typeof ManagementGroupsDeleteInput.Type;
export declare const ManagementGroupsDeleteOutput: Schema.Void;
export type ManagementGroupsDeleteOutput = typeof ManagementGroupsDeleteOutput.Type;
/**
 * Delete management group.
 * If a management group contains child resources, the request will fail.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const ManagementGroupsDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupsGetInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
    readonly $expand: Schema.optional<Schema.Literals<readonly ["children", "path", "ancestors"]>>;
    readonly $recurse: Schema.optional<Schema.Boolean>;
    readonly $filter: Schema.optional<Schema.String>;
}>;
export type ManagementGroupsGetInput = typeof ManagementGroupsGetInput.Type;
export declare const ManagementGroupsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type ManagementGroupsGetOutput = typeof ManagementGroupsGetOutput.Type;
/**
 * Get the details of the management group.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param $expand - The $expand=children query string parameter allows clients to request inclusion of children in the response payload.  $expand=path includes the path from the root group to the current group.  $expand=ancestors includes the ancestor Ids of the current group.
 * @param $recurse - The $recurse=true query string parameter allows clients to request inclusion of entire hierarchy in the response payload. Note that  $expand=children must be passed up if $recurse is set to true.
 * @param $filter - A filter which allows the exclusion of subscriptions from results (i.e. '$filter=children.childType ne Subscription')
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const ManagementGroupsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $expand?: "ancestors" | "children" | "path" | undefined;
    readonly $filter?: string | undefined;
    readonly $recurse?: boolean | undefined;
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupsGetDescendantsInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
    readonly $skiptoken: Schema.optional<Schema.String>;
    readonly $top: Schema.optional<Schema.Number>;
}>;
export type ManagementGroupsGetDescendantsInput = typeof ManagementGroupsGetDescendantsInput.Type;
export declare const ManagementGroupsGetDescendantsOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly type: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly name: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly displayName: Schema.optional<Schema.NullOr<Schema.String>>;
            readonly parent: Schema.optional<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
            }>>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ManagementGroupsGetDescendantsOutput = typeof ManagementGroupsGetDescendantsOutput.Type;
/**
 * List all entities that descend from a management group.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param $skiptoken - Page continuation token is only used if a previous operation returned a partial result.
If a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.
 * @param $top - Number of elements to return when retrieving results. Passing this in will override $skipToken.
 */
export declare const ManagementGroupsGetDescendants: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $skiptoken?: string | undefined;
    readonly $top?: number | undefined;
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | null | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly displayName?: string | null | undefined;
            readonly parent?: {
                readonly id?: string | undefined;
            } | undefined;
        } | undefined;
        readonly type?: string | null | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupsListInput: Schema.Struct<{
    readonly "api-version": Schema.String;
    readonly $skiptoken: Schema.optional<Schema.String>;
}>;
export type ManagementGroupsListInput = typeof ManagementGroupsListInput.Type;
export declare const ManagementGroupsListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly tenantId: Schema.optional<Schema.String>;
            readonly displayName: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly "@nextLink": Schema.optional<Schema.String>;
}>;
export type ManagementGroupsListOutput = typeof ManagementGroupsListOutput.Type;
/**
 * List management groups for the authenticated user.
 *
 * @param api-version - The API version to use for this operation.
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 * @param $skiptoken - Page continuation token is only used if a previous operation returned a partial result.
If a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.
 */
export declare const ManagementGroupsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $skiptoken?: string | undefined;
    readonly "api-version": string;
}, {
    readonly "@nextLink"?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly displayName?: string | undefined;
            readonly tenantId?: string | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupSubscriptionsCreateInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ManagementGroupSubscriptionsCreateInput = typeof ManagementGroupSubscriptionsCreateInput.Type;
export declare const ManagementGroupSubscriptionsCreateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type ManagementGroupSubscriptionsCreateOutput = typeof ManagementGroupSubscriptionsCreateOutput.Type;
/**
 * Associates existing subscription with the management group.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param subscriptionId - Subscription ID.
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const ManagementGroupSubscriptionsCreate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupSubscriptionsDeleteInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ManagementGroupSubscriptionsDeleteInput = typeof ManagementGroupSubscriptionsDeleteInput.Type;
export declare const ManagementGroupSubscriptionsDeleteOutput: Schema.Void;
export type ManagementGroupSubscriptionsDeleteOutput = typeof ManagementGroupSubscriptionsDeleteOutput.Type;
/**
 * De-associates subscription from the management group.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param subscriptionId - Subscription ID.
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const ManagementGroupSubscriptionsDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
    readonly subscriptionId: string;
}, void, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupSubscriptionsGetSubscriptionInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ManagementGroupSubscriptionsGetSubscriptionInput = typeof ManagementGroupSubscriptionsGetSubscriptionInput.Type;
export declare const ManagementGroupSubscriptionsGetSubscriptionOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type ManagementGroupSubscriptionsGetSubscriptionOutput = typeof ManagementGroupSubscriptionsGetSubscriptionOutput.Type;
/**
 * Retrieves details about given subscription which is associated with the management group.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param subscriptionId - Subscription ID.
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const ManagementGroupSubscriptionsGetSubscription: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
    readonly subscriptionId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupSubscriptionsGetSubscriptionsUnderManagementGroupInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
    readonly $skiptoken: Schema.optional<Schema.String>;
}>;
export type ManagementGroupSubscriptionsGetSubscriptionsUnderManagementGroupInput = typeof ManagementGroupSubscriptionsGetSubscriptionsUnderManagementGroupInput.Type;
export declare const ManagementGroupSubscriptionsGetSubscriptionsUnderManagementGroupOutput: Schema.Struct<{
    readonly value: Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly systemData: Schema.optional<Schema.Struct<{
            readonly createdBy: Schema.optional<Schema.String>;
            readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly createdAt: Schema.optional<Schema.String>;
            readonly lastModifiedBy: Schema.optional<Schema.String>;
            readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
            readonly lastModifiedAt: Schema.optional<Schema.String>;
        }>>;
    }>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type ManagementGroupSubscriptionsGetSubscriptionsUnderManagementGroupOutput = typeof ManagementGroupSubscriptionsGetSubscriptionsUnderManagementGroupOutput.Type;
/**
 * Retrieves details about all subscriptions which are associated with the management group.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param $skiptoken - Page continuation token is only used if a previous operation returned a partial result.
If a previous response contains a nextLink element, the value of the nextLink element will include a token parameter that specifies a starting point to use for subsequent calls.
 */
export declare const ManagementGroupSubscriptionsGetSubscriptionsUnderManagementGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $skiptoken?: string | undefined;
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly systemData?: {
            readonly createdAt?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
            readonly lastModifiedAt?: string | undefined;
            readonly lastModifiedBy?: string | undefined;
            readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const ManagementGroupsUpdateInput: Schema.Struct<{
    readonly groupId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type ManagementGroupsUpdateInput = typeof ManagementGroupsUpdateInput.Type;
export declare const ManagementGroupsUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly systemData: Schema.optional<Schema.Struct<{
        readonly createdBy: Schema.optional<Schema.String>;
        readonly createdByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly createdAt: Schema.optional<Schema.String>;
        readonly lastModifiedBy: Schema.optional<Schema.String>;
        readonly lastModifiedByType: Schema.optional<Schema.Literals<readonly ["User", "Application", "ManagedIdentity", "Key"]>>;
        readonly lastModifiedAt: Schema.optional<Schema.String>;
    }>>;
}>;
export type ManagementGroupsUpdateOutput = typeof ManagementGroupsUpdateOutput.Type;
/**
 * Update a management group.
 *
 * @param api-version - The API version to use for this operation.
 * @param groupId - Management Group ID.
 * @param Cache-Control - Indicates whether the request should utilize any caches. Populate the header with 'no-cache' value to bypass existing caches.
 */
export declare const ManagementGroupsUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly groupId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly systemData?: {
        readonly createdAt?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
        readonly lastModifiedAt?: string | undefined;
        readonly lastModifiedBy?: string | undefined;
        readonly lastModifiedByType?: "Application" | "Key" | "ManagedIdentity" | "User" | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const OperationsListInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type OperationsListInput = typeof OperationsListInput.Type;
export declare const OperationsListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly name: Schema.optional<Schema.String>;
        readonly isDataAction: Schema.optional<Schema.Boolean>;
        readonly display: Schema.optional<Schema.Struct<{
            readonly provider: Schema.optional<Schema.String>;
            readonly resource: Schema.optional<Schema.String>;
            readonly operation: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
        }>>;
        readonly origin: Schema.optional<Schema.Literals<readonly ["user", "system", "user,system"]>>;
        readonly actionType: Schema.optional<Schema.Literals<readonly ["Internal"]>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type OperationsListOutput = typeof OperationsListOutput.Type;
/**
 * List the operations for the provider
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const OperationsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly actionType?: "Internal" | undefined;
        readonly display?: {
            readonly description?: string | undefined;
            readonly operation?: string | undefined;
            readonly provider?: string | undefined;
            readonly resource?: string | undefined;
        } | undefined;
        readonly isDataAction?: boolean | undefined;
        readonly name?: string | undefined;
        readonly origin?: "system" | "user" | "user,system" | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const StartTenantBackfillInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type StartTenantBackfillInput = typeof StartTenantBackfillInput.Type;
export declare const StartTenantBackfillOutput: Schema.Struct<{
    readonly tenantId: Schema.optional<Schema.String>;
    readonly status: Schema.optional<Schema.Literals<readonly ["NotStarted", "NotStartedButGroupsExist", "Started", "Failed", "Cancelled", "Completed"]>>;
}>;
export type StartTenantBackfillOutput = typeof StartTenantBackfillOutput.Type;
/**
 * Starts backfilling subscriptions for the Tenant.
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const StartTenantBackfill: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly status?: "Cancelled" | "Completed" | "Failed" | "NotStarted" | "NotStartedButGroupsExist" | "Started" | undefined;
    readonly tenantId?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const TenantBackfillStatusInput: Schema.Struct<{
    readonly "api-version": Schema.String;
}>;
export type TenantBackfillStatusInput = typeof TenantBackfillStatusInput.Type;
export declare const TenantBackfillStatusOutput: Schema.Struct<{
    readonly tenantId: Schema.optional<Schema.String>;
    readonly status: Schema.optional<Schema.Literals<readonly ["NotStarted", "NotStartedButGroupsExist", "Started", "Failed", "Cancelled", "Completed"]>>;
}>;
export type TenantBackfillStatusOutput = typeof TenantBackfillStatusOutput.Type;
/**
 * Gets tenant backfill status
 *
 * @param api-version - The API version to use for this operation.
 */
export declare const TenantBackfillStatus: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
}, {
    readonly status?: "Cancelled" | "Completed" | "Failed" | "NotStarted" | "NotStartedButGroupsExist" | "Started" | undefined;
    readonly tenantId?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=management.d.ts.map