/**
 * Azure Authorization 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 DenyAssignmentsGetInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly denyAssignmentId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type DenyAssignmentsGetInput = typeof DenyAssignmentsGetInput.Type;
export declare const DenyAssignmentsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly denyAssignmentName: Schema.optional<Schema.String>;
        readonly description: Schema.optional<Schema.String>;
        readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly condition: Schema.optional<Schema.String>;
            readonly conditionVersion: Schema.optional<Schema.String>;
        }>>>;
        readonly scope: Schema.optional<Schema.String>;
        readonly doNotApplyToChildScopes: Schema.optional<Schema.Boolean>;
        readonly principals: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly id: Schema.optional<Schema.String>;
            readonly displayName: Schema.optional<Schema.String>;
            readonly type: Schema.optional<Schema.String>;
            readonly email: Schema.optional<Schema.String>;
        }>>>;
        readonly excludePrincipals: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly id: Schema.optional<Schema.String>;
            readonly displayName: Schema.optional<Schema.String>;
            readonly type: Schema.optional<Schema.String>;
            readonly email: Schema.optional<Schema.String>;
        }>>>;
        readonly isSystemProtected: Schema.optional<Schema.Boolean>;
        readonly condition: Schema.optional<Schema.String>;
        readonly conditionVersion: Schema.optional<Schema.String>;
        readonly createdOn: Schema.optional<Schema.String>;
        readonly updatedOn: Schema.optional<Schema.String>;
        readonly createdBy: Schema.optional<Schema.String>;
        readonly updatedBy: Schema.optional<Schema.String>;
    }>>;
}>;
export type DenyAssignmentsGetOutput = typeof DenyAssignmentsGetOutput.Type;
/**
 * Get the specified deny assignment.
 *
 * @param scope - The scope of the deny assignment.
 * @param denyAssignmentId - The ID of the deny assignment to get.
 * @param api-version - The API version to use for this operation.
 */
export declare const DenyAssignmentsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly denyAssignmentId: string;
    readonly scope: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly condition?: string | undefined;
        readonly conditionVersion?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdOn?: string | undefined;
        readonly denyAssignmentName?: string | undefined;
        readonly description?: string | undefined;
        readonly doNotApplyToChildScopes?: boolean | undefined;
        readonly excludePrincipals?: readonly {
            readonly displayName?: string | undefined;
            readonly email?: string | undefined;
            readonly id?: string | undefined;
            readonly type?: string | undefined;
        }[] | undefined;
        readonly isSystemProtected?: boolean | undefined;
        readonly permissions?: readonly {
            readonly actions?: readonly string[] | undefined;
            readonly condition?: string | undefined;
            readonly conditionVersion?: string | undefined;
            readonly dataActions?: readonly string[] | undefined;
            readonly notActions?: readonly string[] | undefined;
            readonly notDataActions?: readonly string[] | undefined;
        }[] | undefined;
        readonly principals?: readonly {
            readonly displayName?: string | undefined;
            readonly email?: string | undefined;
            readonly id?: string | undefined;
            readonly type?: string | undefined;
        }[] | undefined;
        readonly scope?: string | undefined;
        readonly updatedBy?: string | undefined;
        readonly updatedOn?: string | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DenyAssignmentsGetByIdInput: Schema.Struct<{
    readonly denyAssignmentId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type DenyAssignmentsGetByIdInput = typeof DenyAssignmentsGetByIdInput.Type;
export declare const DenyAssignmentsGetByIdOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly denyAssignmentName: Schema.optional<Schema.String>;
        readonly description: Schema.optional<Schema.String>;
        readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly condition: Schema.optional<Schema.String>;
            readonly conditionVersion: Schema.optional<Schema.String>;
        }>>>;
        readonly scope: Schema.optional<Schema.String>;
        readonly doNotApplyToChildScopes: Schema.optional<Schema.Boolean>;
        readonly principals: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly id: Schema.optional<Schema.String>;
            readonly displayName: Schema.optional<Schema.String>;
            readonly type: Schema.optional<Schema.String>;
            readonly email: Schema.optional<Schema.String>;
        }>>>;
        readonly excludePrincipals: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly id: Schema.optional<Schema.String>;
            readonly displayName: Schema.optional<Schema.String>;
            readonly type: Schema.optional<Schema.String>;
            readonly email: Schema.optional<Schema.String>;
        }>>>;
        readonly isSystemProtected: Schema.optional<Schema.Boolean>;
        readonly condition: Schema.optional<Schema.String>;
        readonly conditionVersion: Schema.optional<Schema.String>;
        readonly createdOn: Schema.optional<Schema.String>;
        readonly updatedOn: Schema.optional<Schema.String>;
        readonly createdBy: Schema.optional<Schema.String>;
        readonly updatedBy: Schema.optional<Schema.String>;
    }>>;
}>;
export type DenyAssignmentsGetByIdOutput = typeof DenyAssignmentsGetByIdOutput.Type;
/**
 * Gets a deny assignment by ID.
 *
 * @param denyAssignmentId - The fully qualified deny assignment ID. For example, use the format, /subscriptions/{guid}/providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for subscription level deny assignments, or /providers/Microsoft.Authorization/denyAssignments/{denyAssignmentId} for tenant level deny assignments.
 * @param api-version - The API version to use for this operation.
 */
export declare const DenyAssignmentsGetById: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly denyAssignmentId: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly condition?: string | undefined;
        readonly conditionVersion?: string | undefined;
        readonly createdBy?: string | undefined;
        readonly createdOn?: string | undefined;
        readonly denyAssignmentName?: string | undefined;
        readonly description?: string | undefined;
        readonly doNotApplyToChildScopes?: boolean | undefined;
        readonly excludePrincipals?: readonly {
            readonly displayName?: string | undefined;
            readonly email?: string | undefined;
            readonly id?: string | undefined;
            readonly type?: string | undefined;
        }[] | undefined;
        readonly isSystemProtected?: boolean | undefined;
        readonly permissions?: readonly {
            readonly actions?: readonly string[] | undefined;
            readonly condition?: string | undefined;
            readonly conditionVersion?: string | undefined;
            readonly dataActions?: readonly string[] | undefined;
            readonly notActions?: readonly string[] | undefined;
            readonly notDataActions?: readonly string[] | undefined;
        }[] | undefined;
        readonly principals?: readonly {
            readonly displayName?: string | undefined;
            readonly email?: string | undefined;
            readonly id?: string | undefined;
            readonly type?: string | undefined;
        }[] | undefined;
        readonly scope?: string | undefined;
        readonly updatedBy?: string | undefined;
        readonly updatedOn?: string | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DenyAssignmentsListInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type DenyAssignmentsListInput = typeof DenyAssignmentsListInput.Type;
export declare const DenyAssignmentsListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly denyAssignmentName: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
            readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly condition: Schema.optional<Schema.String>;
                readonly conditionVersion: Schema.optional<Schema.String>;
            }>>>;
            readonly scope: Schema.optional<Schema.String>;
            readonly doNotApplyToChildScopes: Schema.optional<Schema.Boolean>;
            readonly principals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly excludePrincipals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly isSystemProtected: Schema.optional<Schema.Boolean>;
            readonly condition: Schema.optional<Schema.String>;
            readonly conditionVersion: Schema.optional<Schema.String>;
            readonly createdOn: Schema.optional<Schema.String>;
            readonly updatedOn: Schema.optional<Schema.String>;
            readonly createdBy: Schema.optional<Schema.String>;
            readonly updatedBy: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DenyAssignmentsListOutput = typeof DenyAssignmentsListOutput.Type;
/**
 * Gets all deny assignments for the subscription.
 *
 * @param subscriptionId - The ID of the target subscription.
 * @param api-version - The API version to use for this operation.
 */
export declare const DenyAssignmentsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly condition?: string | undefined;
            readonly conditionVersion?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdOn?: string | undefined;
            readonly denyAssignmentName?: string | undefined;
            readonly description?: string | undefined;
            readonly doNotApplyToChildScopes?: boolean | undefined;
            readonly excludePrincipals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly isSystemProtected?: boolean | undefined;
            readonly permissions?: readonly {
                readonly actions?: readonly string[] | undefined;
                readonly condition?: string | undefined;
                readonly conditionVersion?: string | undefined;
                readonly dataActions?: readonly string[] | undefined;
                readonly notActions?: readonly string[] | undefined;
                readonly notDataActions?: readonly string[] | undefined;
            }[] | undefined;
            readonly principals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly scope?: string | undefined;
            readonly updatedBy?: string | undefined;
            readonly updatedOn?: string | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DenyAssignmentsListForResourceInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly parentResourcePath: Schema.String;
    readonly resourceType: Schema.String;
    readonly resourceName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type DenyAssignmentsListForResourceInput = typeof DenyAssignmentsListForResourceInput.Type;
export declare const DenyAssignmentsListForResourceOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly denyAssignmentName: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
            readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly condition: Schema.optional<Schema.String>;
                readonly conditionVersion: Schema.optional<Schema.String>;
            }>>>;
            readonly scope: Schema.optional<Schema.String>;
            readonly doNotApplyToChildScopes: Schema.optional<Schema.Boolean>;
            readonly principals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly excludePrincipals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly isSystemProtected: Schema.optional<Schema.Boolean>;
            readonly condition: Schema.optional<Schema.String>;
            readonly conditionVersion: Schema.optional<Schema.String>;
            readonly createdOn: Schema.optional<Schema.String>;
            readonly updatedOn: Schema.optional<Schema.String>;
            readonly createdBy: Schema.optional<Schema.String>;
            readonly updatedBy: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DenyAssignmentsListForResourceOutput = typeof DenyAssignmentsListForResourceOutput.Type;
/**
 * Gets deny assignments for a resource.
 *
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param parentResourcePath - The parent resource identity.
 * @param resourceType - The resource type of the resource.
 * @param resourceName - The name of the resource to get deny assignments for.
 * @param api-version - The API version to use for this operation.
 */
export declare const DenyAssignmentsListForResource: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly parentResourcePath: string;
    readonly resourceGroupName: string;
    readonly resourceName: string;
    readonly resourceType: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly condition?: string | undefined;
            readonly conditionVersion?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdOn?: string | undefined;
            readonly denyAssignmentName?: string | undefined;
            readonly description?: string | undefined;
            readonly doNotApplyToChildScopes?: boolean | undefined;
            readonly excludePrincipals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly isSystemProtected?: boolean | undefined;
            readonly permissions?: readonly {
                readonly actions?: readonly string[] | undefined;
                readonly condition?: string | undefined;
                readonly conditionVersion?: string | undefined;
                readonly dataActions?: readonly string[] | undefined;
                readonly notActions?: readonly string[] | undefined;
                readonly notDataActions?: readonly string[] | undefined;
            }[] | undefined;
            readonly principals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly scope?: string | undefined;
            readonly updatedBy?: string | undefined;
            readonly updatedOn?: string | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DenyAssignmentsListForResourceGroupInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type DenyAssignmentsListForResourceGroupInput = typeof DenyAssignmentsListForResourceGroupInput.Type;
export declare const DenyAssignmentsListForResourceGroupOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly denyAssignmentName: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
            readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly condition: Schema.optional<Schema.String>;
                readonly conditionVersion: Schema.optional<Schema.String>;
            }>>>;
            readonly scope: Schema.optional<Schema.String>;
            readonly doNotApplyToChildScopes: Schema.optional<Schema.Boolean>;
            readonly principals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly excludePrincipals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly isSystemProtected: Schema.optional<Schema.Boolean>;
            readonly condition: Schema.optional<Schema.String>;
            readonly conditionVersion: Schema.optional<Schema.String>;
            readonly createdOn: Schema.optional<Schema.String>;
            readonly updatedOn: Schema.optional<Schema.String>;
            readonly createdBy: Schema.optional<Schema.String>;
            readonly updatedBy: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DenyAssignmentsListForResourceGroupOutput = typeof DenyAssignmentsListForResourceGroupOutput.Type;
/**
 * Gets deny assignments for a resource group.
 *
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param api-version - The API version to use for this operation.
 */
export declare const DenyAssignmentsListForResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly condition?: string | undefined;
            readonly conditionVersion?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdOn?: string | undefined;
            readonly denyAssignmentName?: string | undefined;
            readonly description?: string | undefined;
            readonly doNotApplyToChildScopes?: boolean | undefined;
            readonly excludePrincipals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly isSystemProtected?: boolean | undefined;
            readonly permissions?: readonly {
                readonly actions?: readonly string[] | undefined;
                readonly condition?: string | undefined;
                readonly conditionVersion?: string | undefined;
                readonly dataActions?: readonly string[] | undefined;
                readonly notActions?: readonly string[] | undefined;
                readonly notDataActions?: readonly string[] | undefined;
            }[] | undefined;
            readonly principals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly scope?: string | undefined;
            readonly updatedBy?: string | undefined;
            readonly updatedOn?: string | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const DenyAssignmentsListForScopeInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type DenyAssignmentsListForScopeInput = typeof DenyAssignmentsListForScopeInput.Type;
export declare const DenyAssignmentsListForScopeOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly denyAssignmentName: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
            readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly condition: Schema.optional<Schema.String>;
                readonly conditionVersion: Schema.optional<Schema.String>;
            }>>>;
            readonly scope: Schema.optional<Schema.String>;
            readonly doNotApplyToChildScopes: Schema.optional<Schema.Boolean>;
            readonly principals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly excludePrincipals: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly id: Schema.optional<Schema.String>;
                readonly displayName: Schema.optional<Schema.String>;
                readonly type: Schema.optional<Schema.String>;
                readonly email: Schema.optional<Schema.String>;
            }>>>;
            readonly isSystemProtected: Schema.optional<Schema.Boolean>;
            readonly condition: Schema.optional<Schema.String>;
            readonly conditionVersion: Schema.optional<Schema.String>;
            readonly createdOn: Schema.optional<Schema.String>;
            readonly updatedOn: Schema.optional<Schema.String>;
            readonly createdBy: Schema.optional<Schema.String>;
            readonly updatedBy: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type DenyAssignmentsListForScopeOutput = typeof DenyAssignmentsListForScopeOutput.Type;
/**
 * Gets deny assignments for a scope.
 *
 * @param scope - The scope of the deny assignments.
 * @param api-version - The API version to use for this operation.
 */
export declare const DenyAssignmentsListForScope: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly scope: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly condition?: string | undefined;
            readonly conditionVersion?: string | undefined;
            readonly createdBy?: string | undefined;
            readonly createdOn?: string | undefined;
            readonly denyAssignmentName?: string | undefined;
            readonly description?: string | undefined;
            readonly doNotApplyToChildScopes?: boolean | undefined;
            readonly excludePrincipals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly isSystemProtected?: boolean | undefined;
            readonly permissions?: readonly {
                readonly actions?: readonly string[] | undefined;
                readonly condition?: string | undefined;
                readonly conditionVersion?: string | undefined;
                readonly dataActions?: readonly string[] | undefined;
                readonly notActions?: readonly string[] | undefined;
                readonly notDataActions?: readonly string[] | undefined;
            }[] | undefined;
            readonly principals?: readonly {
                readonly displayName?: string | undefined;
                readonly email?: string | undefined;
                readonly id?: string | undefined;
                readonly type?: string | undefined;
            }[] | undefined;
            readonly scope?: string | undefined;
            readonly updatedBy?: string | undefined;
            readonly updatedOn?: string | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const PermissionsListForResourceInput: Schema.Struct<{
    readonly resourceGroupName: Schema.String;
    readonly resourceProviderNamespace: Schema.String;
    readonly parentResourcePath: Schema.String;
    readonly resourceType: Schema.String;
    readonly resourceName: Schema.String;
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type PermissionsListForResourceInput = typeof PermissionsListForResourceInput.Type;
export declare const PermissionsListForResourceOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
        readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
        readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
        readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type PermissionsListForResourceOutput = typeof PermissionsListForResourceOutput.Type;
/**
 * Gets all permissions the caller has for a resource.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceProviderNamespace - The namespace of the resource provider.
 * @param parentResourcePath - The parent resource identity.
 * @param resourceType - The resource type of the resource.
 * @param resourceName - The name of the resource to get the permissions for.
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 */
export declare const PermissionsListForResource: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly parentResourcePath: string;
    readonly resourceGroupName: string;
    readonly resourceName: string;
    readonly resourceProviderNamespace: string;
    readonly resourceType: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly actions?: readonly string[] | undefined;
        readonly dataActions?: readonly string[] | undefined;
        readonly notActions?: readonly string[] | undefined;
        readonly notDataActions?: readonly string[] | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const PermissionsListForResourceGroupInput: Schema.Struct<{
    readonly resourceGroupName: Schema.String;
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type PermissionsListForResourceGroupInput = typeof PermissionsListForResourceGroupInput.Type;
export declare const PermissionsListForResourceGroupOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
        readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
        readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
        readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type PermissionsListForResourceGroupOutput = typeof PermissionsListForResourceGroupOutput.Type;
/**
 * Gets all permissions the caller has for a resource group.
 *
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 */
export declare const PermissionsListForResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly actions?: readonly string[] | undefined;
        readonly dataActions?: readonly string[] | undefined;
        readonly notActions?: readonly string[] | undefined;
        readonly notDataActions?: readonly string[] | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ProviderOperationsMetadataGetInput: Schema.Struct<{
    readonly resourceProviderNamespace: Schema.String;
    readonly "api-version": Schema.String;
    readonly $expand: Schema.optional<Schema.String>;
}>;
export type ProviderOperationsMetadataGetInput = typeof ProviderOperationsMetadataGetInput.Type;
export declare const ProviderOperationsMetadataGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
}>;
export type ProviderOperationsMetadataGetOutput = typeof ProviderOperationsMetadataGetOutput.Type;
/**
 * Gets provider operations metadata for the specified resource provider.
 *
 * @param api-version - The API version to use for this operation.
 * @param resourceProviderNamespace - The namespace of the resource provider.
 * @param $expand - Specifies whether to expand the values.
 */
export declare const ProviderOperationsMetadataGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $expand?: string | undefined;
    readonly "api-version": string;
    readonly resourceProviderNamespace: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const ProviderOperationsMetadataListInput: Schema.Struct<{
    readonly "api-version": Schema.String;
    readonly $expand: Schema.optional<Schema.String>;
}>;
export type ProviderOperationsMetadataListInput = typeof ProviderOperationsMetadataListInput.Type;
export declare const ProviderOperationsMetadataListOutput: 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 nextLink: Schema.optional<Schema.String>;
}>;
export type ProviderOperationsMetadataListOutput = typeof ProviderOperationsMetadataListOutput.Type;
/**
 * Gets provider operations metadata for all resource providers.
 *
 * @param api-version - The API version to use for this operation.
 * @param $expand - Specifies whether to expand the values.
 */
export declare const ProviderOperationsMetadataList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $expand?: string | undefined;
    readonly "api-version": string;
}, {
    readonly nextLink?: string | undefined;
    readonly value: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly type?: string | undefined;
    }[];
}, never, import("../credentials.ts").Credentials>;
export declare const RoleAssignmentsCreateInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly roleAssignmentName: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RoleAssignmentsCreateInput = typeof RoleAssignmentsCreateInput.Type;
export declare const RoleAssignmentsCreateOutput: 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 RoleAssignmentsCreateOutput = typeof RoleAssignmentsCreateOutput.Type;
/**
 * Create or update a role assignment by scope and name.
 *
 * @param api-version - The API version to use for this operation.
 * @param scope - The fully qualified Azure Resource manager identifier of the resource.
 * @param roleAssignmentName - The name of the role assignment. It can be any valid GUID.
 */
export declare const RoleAssignmentsCreate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleAssignmentName: string;
    readonly scope: 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 RoleAssignmentsCreateByIdInput: Schema.Struct<{
    readonly roleAssignmentId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RoleAssignmentsCreateByIdInput = typeof RoleAssignmentsCreateByIdInput.Type;
export declare const RoleAssignmentsCreateByIdOutput: 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 RoleAssignmentsCreateByIdOutput = typeof RoleAssignmentsCreateByIdOutput.Type;
/**
 * Create or update a role assignment by ID.
 *
 * @param api-version - The API version to use for this operation.
 * @param roleAssignmentId - The fully qualified ID of the role assignment including scope, resource name, and resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>
 */
export declare const RoleAssignmentsCreateById: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleAssignmentId: 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 RoleAssignmentsDeleteInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly roleAssignmentName: Schema.String;
    readonly "api-version": Schema.String;
    readonly tenantId: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsDeleteInput = typeof RoleAssignmentsDeleteInput.Type;
export declare const RoleAssignmentsDeleteOutput: 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 RoleAssignmentsDeleteOutput = typeof RoleAssignmentsDeleteOutput.Type;
/**
 * Delete a role assignment by scope and name.
 *
 * @param api-version - The API version to use for this operation.
 * @param scope - The fully qualified Azure Resource manager identifier of the resource.
 * @param tenantId - Tenant ID for cross-tenant request
 * @param roleAssignmentName - The name of the role assignment. It can be any valid GUID.
 */
export declare const RoleAssignmentsDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleAssignmentName: string;
    readonly scope: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleAssignmentsDeleteByIdInput: Schema.Struct<{
    readonly roleAssignmentId: Schema.String;
    readonly "api-version": Schema.String;
    readonly tenantId: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsDeleteByIdInput = typeof RoleAssignmentsDeleteByIdInput.Type;
export declare const RoleAssignmentsDeleteByIdOutput: 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 RoleAssignmentsDeleteByIdOutput = typeof RoleAssignmentsDeleteByIdOutput.Type;
/**
 * Delete a role assignment by ID.
 *
 * @param api-version - The API version to use for this operation.
 * @param roleAssignmentId - The fully qualified ID of the role assignment including scope, resource name, and resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>
 * @param tenantId - Tenant ID for cross-tenant request
 */
export declare const RoleAssignmentsDeleteById: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleAssignmentId: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleAssignmentsGetInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly roleAssignmentName: Schema.String;
    readonly "api-version": Schema.String;
    readonly tenantId: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsGetInput = typeof RoleAssignmentsGetInput.Type;
export declare const RoleAssignmentsGetOutput: 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 RoleAssignmentsGetOutput = typeof RoleAssignmentsGetOutput.Type;
/**
 * Get a role assignment by scope and name.
 *
 * @param api-version - The API version to use for this operation.
 * @param scope - The fully qualified Azure Resource manager identifier of the resource.
 * @param tenantId - Tenant ID for cross-tenant request
 * @param roleAssignmentName - The name of the role assignment. It can be any valid GUID.
 */
export declare const RoleAssignmentsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleAssignmentName: string;
    readonly scope: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleAssignmentsGetByIdInput: Schema.Struct<{
    readonly roleAssignmentId: Schema.String;
    readonly "api-version": Schema.String;
    readonly tenantId: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsGetByIdInput = typeof RoleAssignmentsGetByIdInput.Type;
export declare const RoleAssignmentsGetByIdOutput: 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 RoleAssignmentsGetByIdOutput = typeof RoleAssignmentsGetByIdOutput.Type;
/**
 * Get a role assignment by ID.
 *
 * @param api-version - The API version to use for this operation.
 * @param roleAssignmentId - The fully qualified ID of the role assignment including scope, resource name, and resource type. Format: /{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}. Example: /subscriptions/<SUB_ID>/resourcegroups/<RESOURCE_GROUP>/providers/Microsoft.Authorization/roleAssignments/<ROLE_ASSIGNMENT_NAME>
 * @param tenantId - Tenant ID for cross-tenant request
 */
export declare const RoleAssignmentsGetById: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleAssignmentId: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleAssignmentsListForResourceInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly resourceProviderNamespace: Schema.String;
    readonly resourceType: Schema.String;
    readonly resourceName: Schema.String;
    readonly "api-version": Schema.String;
    readonly $filter: Schema.optional<Schema.String>;
    readonly tenantId: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsListForResourceInput = typeof RoleAssignmentsListForResourceInput.Type;
export declare const RoleAssignmentsListForResourceOutput: 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 RoleAssignmentsListForResourceOutput = typeof RoleAssignmentsListForResourceOutput.Type;
/**
 * List all role assignments that apply to a resource.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param resourceProviderNamespace - The namespace of the resource provider.
 * @param resourceType - The resource type of the resource.
 * @param resourceName - The name of the resource to get role assignments for.
 * @param $filter - The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.
 * @param tenantId - Tenant ID for cross-tenant request
 */
export declare const RoleAssignmentsListForResource: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly "api-version": string;
    readonly resourceGroupName: string;
    readonly resourceName: string;
    readonly resourceProviderNamespace: string;
    readonly resourceType: string;
    readonly subscriptionId: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleAssignmentsListForResourceGroupInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly resourceGroupName: Schema.String;
    readonly "api-version": Schema.String;
    readonly $filter: Schema.optional<Schema.String>;
    readonly tenantId: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsListForResourceGroupInput = typeof RoleAssignmentsListForResourceGroupInput.Type;
export declare const RoleAssignmentsListForResourceGroupOutput: 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 RoleAssignmentsListForResourceGroupOutput = typeof RoleAssignmentsListForResourceGroupOutput.Type;
/**
 * List all role assignments that apply to a resource group.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param resourceGroupName - The name of the resource group. The name is case insensitive.
 * @param $filter - The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.
 * @param tenantId - Tenant ID for cross-tenant request
 */
export declare const RoleAssignmentsListForResourceGroup: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly "api-version": string;
    readonly resourceGroupName: string;
    readonly subscriptionId: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleAssignmentsListForScopeInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly "api-version": Schema.String;
    readonly $filter: Schema.optional<Schema.String>;
    readonly tenantId: Schema.optional<Schema.String>;
    readonly $skipToken: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsListForScopeInput = typeof RoleAssignmentsListForScopeInput.Type;
export declare const RoleAssignmentsListForScopeOutput: 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 RoleAssignmentsListForScopeOutput = typeof RoleAssignmentsListForScopeOutput.Type;
/**
 * List all role assignments that apply to a scope.
 *
 * @param api-version - The API version to use for this operation.
 * @param scope - The fully qualified Azure Resource manager identifier of the resource.
 * @param $filter - The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.
 * @param tenantId - Tenant ID for cross-tenant request
 * @param $skipToken - The skipToken to apply on the operation. Use $skipToken={skiptoken} to return paged role assignments following the skipToken passed. Only supported on provider level calls.
 */
export declare const RoleAssignmentsListForScope: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly $skipToken?: string | undefined;
    readonly "api-version": string;
    readonly scope: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleAssignmentsListForSubscriptionInput: Schema.Struct<{
    readonly subscriptionId: Schema.String;
    readonly "api-version": Schema.String;
    readonly $filter: Schema.optional<Schema.String>;
    readonly tenantId: Schema.optional<Schema.String>;
}>;
export type RoleAssignmentsListForSubscriptionInput = typeof RoleAssignmentsListForSubscriptionInput.Type;
export declare const RoleAssignmentsListForSubscriptionOutput: 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 RoleAssignmentsListForSubscriptionOutput = typeof RoleAssignmentsListForSubscriptionOutput.Type;
/**
 * List all role assignments that apply to a subscription.
 *
 * @param api-version - The API version to use for this operation.
 * @param subscriptionId - The ID of the target subscription.
 * @param $filter - The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal.
 * @param tenantId - Tenant ID for cross-tenant request
 */
export declare const RoleAssignmentsListForSubscription: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly "api-version": string;
    readonly subscriptionId: string;
    readonly tenantId?: string | undefined;
}, {
    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 RoleDefinitionsCreateOrUpdateInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly roleDefinitionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RoleDefinitionsCreateOrUpdateInput = typeof RoleDefinitionsCreateOrUpdateInput.Type;
export declare const RoleDefinitionsCreateOrUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly roleName: Schema.optional<Schema.String>;
        readonly description: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
        }>>>;
        readonly assignableScopes: Schema.optional<Schema.$Array<Schema.String>>;
        readonly createdOn: Schema.optional<Schema.String>;
        readonly updatedOn: Schema.optional<Schema.String>;
        readonly createdBy: Schema.optional<Schema.String>;
        readonly updatedBy: Schema.optional<Schema.String>;
    }>>;
}>;
export type RoleDefinitionsCreateOrUpdateOutput = typeof RoleDefinitionsCreateOrUpdateOutput.Type;
/**
 * Creates or updates a role definition.
 *
 * @param scope - The scope of the role definition.
 * @param roleDefinitionId - The ID of the role definition.
 * @param api-version - The API version to use for this operation.
 */
export declare const RoleDefinitionsCreateOrUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleDefinitionId: string;
    readonly scope: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly assignableScopes?: readonly string[] | undefined;
        readonly createdBy?: string | undefined;
        readonly createdOn?: string | undefined;
        readonly description?: string | undefined;
        readonly permissions?: readonly {
            readonly actions?: readonly string[] | undefined;
            readonly dataActions?: readonly string[] | undefined;
            readonly notActions?: readonly string[] | undefined;
            readonly notDataActions?: readonly string[] | undefined;
        }[] | undefined;
        readonly roleName?: string | undefined;
        readonly type?: string | undefined;
        readonly updatedBy?: string | undefined;
        readonly updatedOn?: string | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RoleDefinitionsDeleteInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly roleDefinitionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RoleDefinitionsDeleteInput = typeof RoleDefinitionsDeleteInput.Type;
export declare const RoleDefinitionsDeleteOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly roleName: Schema.optional<Schema.String>;
        readonly description: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
        }>>>;
        readonly assignableScopes: Schema.optional<Schema.$Array<Schema.String>>;
        readonly createdOn: Schema.optional<Schema.String>;
        readonly updatedOn: Schema.optional<Schema.String>;
        readonly createdBy: Schema.optional<Schema.String>;
        readonly updatedBy: Schema.optional<Schema.String>;
    }>>;
}>;
export type RoleDefinitionsDeleteOutput = typeof RoleDefinitionsDeleteOutput.Type;
/**
 * Deletes a role definition.
 *
 * @param scope - The scope of the role definition.
 * @param roleDefinitionId - The ID of the role definition to delete.
 * @param api-version - The API version to use for this operation.
 */
export declare const RoleDefinitionsDelete: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleDefinitionId: string;
    readonly scope: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly assignableScopes?: readonly string[] | undefined;
        readonly createdBy?: string | undefined;
        readonly createdOn?: string | undefined;
        readonly description?: string | undefined;
        readonly permissions?: readonly {
            readonly actions?: readonly string[] | undefined;
            readonly dataActions?: readonly string[] | undefined;
            readonly notActions?: readonly string[] | undefined;
            readonly notDataActions?: readonly string[] | undefined;
        }[] | undefined;
        readonly roleName?: string | undefined;
        readonly type?: string | undefined;
        readonly updatedBy?: string | undefined;
        readonly updatedOn?: string | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RoleDefinitionsGetInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly roleDefinitionId: Schema.String;
    readonly "api-version": Schema.String;
}>;
export type RoleDefinitionsGetInput = typeof RoleDefinitionsGetInput.Type;
export declare const RoleDefinitionsGetOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly name: Schema.optional<Schema.String>;
    readonly type: Schema.optional<Schema.String>;
    readonly properties: Schema.optional<Schema.Struct<{
        readonly roleName: Schema.optional<Schema.String>;
        readonly description: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
            readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
        }>>>;
        readonly assignableScopes: Schema.optional<Schema.$Array<Schema.String>>;
        readonly createdOn: Schema.optional<Schema.String>;
        readonly updatedOn: Schema.optional<Schema.String>;
        readonly createdBy: Schema.optional<Schema.String>;
        readonly updatedBy: Schema.optional<Schema.String>;
    }>>;
}>;
export type RoleDefinitionsGetOutput = typeof RoleDefinitionsGetOutput.Type;
/**
 * Get role definition by name (GUID).
 *
 * @param scope - The scope of the role definition.
 * @param roleDefinitionId - The ID of the role definition.
 * @param api-version - The API version to use for this operation.
 */
export declare const RoleDefinitionsGet: import("@distilled.cloud/core/client").OperationMethod<{
    readonly "api-version": string;
    readonly roleDefinitionId: string;
    readonly scope: string;
}, {
    readonly id?: string | undefined;
    readonly name?: string | undefined;
    readonly properties?: {
        readonly assignableScopes?: readonly string[] | undefined;
        readonly createdBy?: string | undefined;
        readonly createdOn?: string | undefined;
        readonly description?: string | undefined;
        readonly permissions?: readonly {
            readonly actions?: readonly string[] | undefined;
            readonly dataActions?: readonly string[] | undefined;
            readonly notActions?: readonly string[] | undefined;
            readonly notDataActions?: readonly string[] | undefined;
        }[] | undefined;
        readonly roleName?: string | undefined;
        readonly type?: string | undefined;
        readonly updatedBy?: string | undefined;
        readonly updatedOn?: string | undefined;
    } | undefined;
    readonly type?: string | undefined;
}, never, import("../credentials.ts").Credentials>;
export declare const RoleDefinitionsListInput: Schema.Struct<{
    readonly scope: Schema.String;
    readonly $filter: Schema.optional<Schema.String>;
    readonly "api-version": Schema.String;
}>;
export type RoleDefinitionsListInput = typeof RoleDefinitionsListInput.Type;
export declare const RoleDefinitionsListOutput: Schema.Struct<{
    readonly value: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.String>;
        readonly type: Schema.optional<Schema.String>;
        readonly properties: Schema.optional<Schema.Struct<{
            readonly roleName: Schema.optional<Schema.String>;
            readonly description: Schema.optional<Schema.String>;
            readonly type: Schema.optional<Schema.String>;
            readonly permissions: Schema.optional<Schema.$Array<Schema.Struct<{
                readonly actions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly dataActions: Schema.optional<Schema.$Array<Schema.String>>;
                readonly notDataActions: Schema.optional<Schema.$Array<Schema.String>>;
            }>>>;
            readonly assignableScopes: Schema.optional<Schema.$Array<Schema.String>>;
            readonly createdOn: Schema.optional<Schema.String>;
            readonly updatedOn: Schema.optional<Schema.String>;
            readonly createdBy: Schema.optional<Schema.String>;
            readonly updatedBy: Schema.optional<Schema.String>;
        }>>;
    }>>>;
    readonly nextLink: Schema.optional<Schema.String>;
}>;
export type RoleDefinitionsListOutput = typeof RoleDefinitionsListOutput.Type;
/**
 * Get all role definitions that are applicable at scope and above.
 *
 * @param scope - The scope of the role definition.
 * @param $filter - The filter to apply on the operation. Use atScopeAndBelow filter to search below the given scope as well.
 * @param api-version - The API version to use for this operation.
 */
export declare const RoleDefinitionsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly $filter?: string | undefined;
    readonly "api-version": string;
    readonly scope: string;
}, {
    readonly nextLink?: string | undefined;
    readonly value?: readonly {
        readonly id?: string | undefined;
        readonly name?: string | undefined;
        readonly properties?: {
            readonly assignableScopes?: readonly string[] | undefined;
            readonly createdBy?: string | undefined;
            readonly createdOn?: string | undefined;
            readonly description?: string | undefined;
            readonly permissions?: readonly {
                readonly actions?: readonly string[] | undefined;
                readonly dataActions?: readonly string[] | undefined;
                readonly notActions?: readonly string[] | undefined;
                readonly notDataActions?: readonly string[] | undefined;
            }[] | undefined;
            readonly roleName?: string | undefined;
            readonly type?: string | undefined;
            readonly updatedBy?: string | undefined;
            readonly updatedOn?: string | undefined;
        } | undefined;
        readonly type?: string | undefined;
    }[] | undefined;
}, never, import("../credentials.ts").Credentials>;
//# sourceMappingURL=authorization.d.ts.map