import * as coreAuth from '@azure/core-auth'; import * as coreClient from '@azure/core-client'; import { PagedAsyncIterableIterator } from '@azure/core-paging'; /** * Defines values for ActionType. \ * {@link KnownActionType} can be used interchangeably with ActionType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Internal** */ export declare type ActionType = string; /** The amount. */ export declare interface Amount { /** The type of currency being used for the value. */ currency?: string; /** Amount value. */ value?: number; } /** * Defines values for CreatedByType. \ * {@link KnownCreatedByType} can be used interchangeably with CreatedByType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **User** \ * **Application** \ * **ManagedIdentity** \ * **Key** */ export declare type CreatedByType = string; export declare class EducationManagementClient extends coreClient.ServiceClient { $host: string; apiVersion: string; /** * Initializes a new instance of the EducationManagementClient class. * @param credentials Subscription credentials which uniquely identify client subscription. * @param options The parameter options */ constructor(credentials: coreAuth.TokenCredential, options?: EducationManagementClientOptionalParams); /** A function that adds a policy that sets the api-version (or equivalent) to reflect the library version. */ private addCustomApiVersionPolicy; /** * Redeem invite code to join a redeemable lab * @param parameters Request parameters to provide redeem code. * @param options The options parameters. */ redeemInvitationCode(parameters: RedeemRequest, options?: RedeemInvitationCodeOptionalParams): Promise; operations: Operations; grants: Grants; labs: Labs; joinRequests: JoinRequests; students: Students; studentLabs: StudentLabs; } /** Optional parameters. */ export declare interface EducationManagementClientOptionalParams extends coreClient.ServiceClientOptions { /** server parameter */ $host?: string; /** Api Version */ apiVersion?: string; /** Overrides client endpoint. */ endpoint?: string; } /** Describes the format of Error response. */ export declare interface ErrorResponse { /** Error code */ code?: string; /** Error message indicating why the operation failed. */ message?: string; } /** Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. */ export declare interface ErrorResponseBody { /** The details of the error. */ error?: ErrorResponse; } /** * Given the last `.value` produced by the `byPage` iterator, * returns a continuation token that can be used to begin paging from * that point later. * @param page An object from accessing `value` on the IteratorResult from a `byPage` iterator. * @returns The continuation token that can be passed into byPage() during future calls. */ export declare function getContinuationToken(page: unknown): string | undefined; /** Grant details. */ export declare interface GrantDetails extends Resource { /** * Offer Cap * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly offerCap?: Amount; /** * Grant Effective Date * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly effectiveDate?: Date; /** * Grant Offer Type * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly offerType?: GrantType; /** * Expiration Date * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly expirationDate?: Date; /** * Grant status * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly status?: GrantStatus; /** * allocated budget * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly allocatedBudget?: Amount; } /** List of Grants info. */ export declare interface GrantListResponse { /** * The list of labs. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly value?: GrantDetails[]; /** * The link (url) to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } /** Interface representing a Grants. */ export declare interface Grants { /** * Get a list of grants that Microsoft has provided. * @param options The options parameters. */ listAll(options?: GrantsListAllOptionalParams): PagedAsyncIterableIterator; /** * Get details for a specific grant linked to the provided billing account and billing profile. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param options The options parameters. */ list(billingAccountName: string, billingProfileName: string, options?: GrantsListOptionalParams): PagedAsyncIterableIterator; /** * Get details for a specific grant linked to the provided billing account and billing profile. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param options The options parameters. */ get(billingAccountName: string, billingProfileName: string, options?: GrantsGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface GrantsGetOptionalParams extends coreClient.OperationOptions { /** May be used to include information about budget that has been allocated. */ includeAllocatedBudget?: boolean; } /** Contains response data for the get operation. */ export declare type GrantsGetResponse = GrantDetails; /** Optional parameters. */ export declare interface GrantsListAllNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listAllNext operation. */ export declare type GrantsListAllNextResponse = GrantListResponse; /** Optional parameters. */ export declare interface GrantsListAllOptionalParams extends coreClient.OperationOptions { /** May be used to include information about budget that has been allocated. */ includeAllocatedBudget?: boolean; } /** Contains response data for the listAll operation. */ export declare type GrantsListAllResponse = GrantListResponse; /** Optional parameters. */ export declare interface GrantsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type GrantsListNextResponse = GrantListResponse; /** Optional parameters. */ export declare interface GrantsListOptionalParams extends coreClient.OperationOptions { /** May be used to include information about budget that has been allocated. */ includeAllocatedBudget?: boolean; } /** Contains response data for the list operation. */ export declare type GrantsListResponse = GrantListResponse; /** * Defines values for GrantStatus. \ * {@link KnownGrantStatus} can be used interchangeably with GrantStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Active** \ * **Inactive** */ export declare type GrantStatus = string; /** * Defines values for GrantType. \ * {@link KnownGrantType} can be used interchangeably with GrantType, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Student** \ * **Academic** */ export declare type GrantType = string; /** invite code generate request. */ export declare interface InviteCodeGenerateRequest { /** the total number of students that can be accepted to the lab. */ maxStudentCount?: number; } /** join requests. */ export declare interface JoinRequestDetails extends Resource { /** First Name */ firstName?: string; /** Last Name */ lastName?: string; /** join request email */ email?: string; /** Join request status */ status?: JoinRequestStatus; } /** list of join requests. */ export declare interface JoinRequestList { /** * The list of requests. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly value?: JoinRequestDetails[]; /** * the link (url) to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } /** Interface representing a JoinRequests. */ export declare interface JoinRequests { /** * get student join requests * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param options The options parameters. */ list(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, options?: JoinRequestsListOptionalParams): PagedAsyncIterableIterator; /** * get student join requests * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param joinRequestName Join name * @param options The options parameters. */ get(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, joinRequestName: string, options?: JoinRequestsGetOptionalParams): Promise; /** * Approve student joining the redeemable lab * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param joinRequestName Join name * @param options The options parameters. */ approve(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, joinRequestName: string, options?: JoinRequestsApproveOptionalParams): Promise; /** * Deny student joining the redeemable lab * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param joinRequestName Join name * @param options The options parameters. */ deny(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, joinRequestName: string, options?: JoinRequestsDenyOptionalParams): Promise; } /** Optional parameters. */ export declare interface JoinRequestsApproveOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface JoinRequestsDenyOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface JoinRequestsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type JoinRequestsGetResponse = JoinRequestDetails; /** Optional parameters. */ export declare interface JoinRequestsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type JoinRequestsListNextResponse = JoinRequestList; /** Optional parameters. */ export declare interface JoinRequestsListOptionalParams extends coreClient.OperationOptions { /** Include denied */ includeDenied?: boolean; } /** Contains response data for the list operation. */ export declare type JoinRequestsListResponse = JoinRequestList; /** * Defines values for JoinRequestStatus. \ * {@link KnownJoinRequestStatus} can be used interchangeably with JoinRequestStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Pending** \ * **Denied** */ export declare type JoinRequestStatus = string; /** Known values of {@link ActionType} that the service accepts. */ export declare enum KnownActionType { /** Internal */ Internal = "Internal" } /** Known values of {@link CreatedByType} that the service accepts. */ export declare enum KnownCreatedByType { /** User */ User = "User", /** Application */ Application = "Application", /** ManagedIdentity */ ManagedIdentity = "ManagedIdentity", /** Key */ Key = "Key" } /** Known values of {@link GrantStatus} that the service accepts. */ export declare enum KnownGrantStatus { /** Active */ Active = "Active", /** Inactive */ Inactive = "Inactive" } /** Known values of {@link GrantType} that the service accepts. */ export declare enum KnownGrantType { /** Student */ Student = "Student", /** Academic */ Academic = "Academic" } /** Known values of {@link JoinRequestStatus} that the service accepts. */ export declare enum KnownJoinRequestStatus { /** Pending */ Pending = "Pending", /** Denied */ Denied = "Denied" } /** Known values of {@link LabStatus} that the service accepts. */ export declare enum KnownLabStatus { /** Active */ Active = "Active", /** Deleted */ Deleted = "Deleted", /** Pending */ Pending = "Pending" } /** Known values of {@link Origin} that the service accepts. */ export declare enum KnownOrigin { /** User */ User = "user", /** System */ System = "system", /** UserSystem */ UserSystem = "user,system" } /** Known values of {@link StudentLabStatus} that the service accepts. */ export declare enum KnownStudentLabStatus { /** Active */ Active = "Active", /** Disabled */ Disabled = "Disabled", /** Expired */ Expired = "Expired", /** Pending */ Pending = "Pending", /** Deleted */ Deleted = "Deleted" } /** Known values of {@link StudentRole} that the service accepts. */ export declare enum KnownStudentRole { /** Student */ Student = "Student", /** Admin */ Admin = "Admin" } /** Lab details. */ export declare interface LabDetails extends Resource { /** Lab Display Name */ displayName?: string; /** Default monetary cap for each student in this lab */ budgetPerStudent?: Amount; /** Detail description of this lab */ description?: string; /** Default expiration date for each student in this lab */ expirationDate?: Date; /** * Lab creation date * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly effectiveDate?: Date; /** * The status of this lab * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly status?: LabStatus; /** * the total number of students that can be accepted to the lab. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly maxStudentCount?: number; /** * invitation code for redeemable lab * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly invitationCode?: string; /** The type of currency being used for the value. */ currencyPropertiesTotalAllocatedBudgetCurrency?: string; /** Amount value. */ valuePropertiesTotalAllocatedBudgetValue?: number; /** The type of currency being used for the value. */ currencyPropertiesTotalBudgetCurrency?: string; /** Amount value. */ valuePropertiesTotalBudgetValue?: number; } /** List of labs. */ export declare interface LabListResult { /** * The list of labs. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly value?: LabDetails[]; /** * The link (url) to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } /** Interface representing a Labs. */ export declare interface Labs { /** * Get a list of labs associated with the provided billing account name and billing profile name. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param options The options parameters. */ listAll(billingAccountName: string, billingProfileName: string, options?: LabsListAllOptionalParams): PagedAsyncIterableIterator; /** * Get the details for a specific lab associated with the provided billing account name, billing * profile name, and invoice section name. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param options The options parameters. */ list(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, options?: LabsListOptionalParams): PagedAsyncIterableIterator; /** * Get the details for a specific lab associated with the provided billing account name, billing * profile name, and invoice section name. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param options The options parameters. */ get(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, options?: LabsGetOptionalParams): Promise; /** * Delete a specific lab associated with the provided billing account name, billing profile name, and * invoice section name. Note all students must be removed from the lab in order to delete the lab. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param options The options parameters. */ delete(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, options?: LabsDeleteOptionalParams): Promise; /** * Create a new lab or update a previously created lab. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param parameters Request parameters that are provided to create lab resource. * @param options The options parameters. */ createOrUpdate(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, parameters: LabDetails, options?: LabsCreateOrUpdateOptionalParams): Promise; /** * Generate invite code for a lab * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param parameters Request parameters that are provided to generate invite code. * @param options The options parameters. */ generateInviteCode(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, parameters: InviteCodeGenerateRequest, options?: LabsGenerateInviteCodeOptionalParams): Promise; } /** Optional parameters. */ export declare interface LabsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the createOrUpdate operation. */ export declare type LabsCreateOrUpdateResponse = LabDetails; /** Optional parameters. */ export declare interface LabsDeleteOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface LabsGenerateInviteCodeOptionalParams extends coreClient.OperationOptions { /** set this flag to true if you want to update student count without generating a new invite code */ onlyUpdateStudentCountParameter?: boolean; } /** Contains response data for the generateInviteCode operation. */ export declare type LabsGenerateInviteCodeResponse = LabDetails; /** Optional parameters. */ export declare interface LabsGetOptionalParams extends coreClient.OperationOptions { /** May be used to include budget information. */ includeBudget?: boolean; } /** Contains response data for the get operation. */ export declare type LabsGetResponse = LabDetails; /** Optional parameters. */ export declare interface LabsListAllNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listAllNext operation. */ export declare type LabsListAllNextResponse = LabListResult; /** Optional parameters. */ export declare interface LabsListAllOptionalParams extends coreClient.OperationOptions { /** May be used to include budget information. */ includeBudget?: boolean; /** May be used to show deleted items. */ includeDeleted?: boolean; } /** Contains response data for the listAll operation. */ export declare type LabsListAllResponse = LabListResult; /** Optional parameters. */ export declare interface LabsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type LabsListNextResponse = LabListResult; /** Optional parameters. */ export declare interface LabsListOptionalParams extends coreClient.OperationOptions { /** May be used to include budget information. */ includeBudget?: boolean; } /** Contains response data for the list operation. */ export declare type LabsListResponse = LabListResult; /** * Defines values for LabStatus. \ * {@link KnownLabStatus} can be used interchangeably with LabStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Active** \ * **Deleted** \ * **Pending** */ export declare type LabStatus = string; /** Details of a REST API operation, returned from the Resource Provider Operations API */ export declare interface Operation { /** * The name of the operation, as per Resource-Based Access Control (RBAC). Examples: "Microsoft.Compute/virtualMachines/write", "Microsoft.Compute/virtualMachines/capture/action" * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * Whether the operation applies to data-plane. This is "true" for data-plane operations and "false" for ARM/control-plane operations. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly isDataAction?: boolean; /** Localized display information for this particular operation. */ display?: OperationDisplay; /** * The intended executor of the operation; as in Resource Based Access Control (RBAC) and audit logs UX. Default value is "user,system" * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly origin?: Origin; /** * Enum. Indicates the action type. "Internal" refers to actions that are for internal only APIs. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly actionType?: ActionType; } /** Localized display information for this particular operation. */ export declare interface OperationDisplay { /** * The localized friendly form of the resource provider name, e.g. "Microsoft Monitoring Insights" or "Microsoft Compute". * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly provider?: string; /** * The localized friendly name of the resource type related to this operation. E.g. "Virtual Machines" or "Job Schedule Collections". * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly resource?: string; /** * The concise, localized friendly name for the operation; suitable for dropdowns. E.g. "Create or Update Virtual Machine", "Restart Virtual Machine". * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly operation?: string; /** * The short, localized friendly description of the operation; suitable for tool tips and detailed views. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly description?: string; } /** A list of REST API operations supported by an Azure Resource Provider. It contains an URL link to get the next set of results. */ export declare interface OperationListResult { /** * List of operations supported by the resource provider * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly value?: Operation[]; /** * URL to get the next set of operation list results (if there are any). * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } /** Interface representing a Operations. */ export declare interface Operations { /** * Lists all of the available Microsoft.Education API operations. * @param options The options parameters. */ list(options?: OperationsListOptionalParams): Promise; } /** Optional parameters. */ export declare interface OperationsListOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the list operation. */ export declare type OperationsListResponse = OperationListResult; /** * Defines values for Origin. \ * {@link KnownOrigin} can be used interchangeably with Origin, * this enum contains the known values that the service supports. * ### Known values supported by the service * **user** \ * **system** \ * **user,system** */ export declare type Origin = string; /** Optional parameters. */ export declare interface RedeemInvitationCodeOptionalParams extends coreClient.OperationOptions { } /** redeem request. */ export declare interface RedeemRequest { /** redeem code */ redeemCode: string; /** first name of requester */ firstName: string; /** last name of requester */ lastName: string; } /** Common fields that are returned in the response for all Azure Resource Manager resources */ export declare interface Resource { /** * Fully qualified resource ID for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName} * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly id?: string; /** * The name of the resource * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly name?: string; /** * The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly type?: string; /** * Azure Resource Manager metadata containing createdBy and modifiedBy information. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly systemData?: SystemData; } /** Student details. */ export declare interface StudentDetails extends Resource { /** First Name */ firstName?: string; /** Last Name */ lastName?: string; /** Student Email */ email?: string; /** Student Role */ role?: StudentRole; /** Student Budget */ budget?: Amount; /** * Subscription Id * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly subscriptionId?: string; /** Date this student is set to expire from the lab. */ expirationDate?: Date; /** * Student Lab Status * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly status?: StudentLabStatus; /** * Date student was added to the lab * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly effectiveDate?: Date; /** Subscription alias */ subscriptionAlias?: string; /** subscription invite last sent date */ subscriptionInviteLastSentDate?: Date; } /** Student lab details. */ export declare interface StudentLabDetails extends Resource { /** * Student lab Display Name * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly displayName?: string; /** * Detail description of this lab * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly description?: string; /** * Date the lab will expire and by default will be the expiration date for each student in this lab * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly expirationDate?: Date; /** * Student Role * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly role?: StudentRole; /** * Student Budget * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly budget?: Amount; /** * Subscription Id * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly subscriptionId?: string; /** * Student Lab Status * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly status?: StudentLabStatus; /** * User Added Date * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly effectiveDate?: Date; /** * Lab Scope. /providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/providers/Microsoft.Education/labs/default * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly labScope?: string; } /** List of labs. */ export declare interface StudentLabListResult { /** * The list of labs. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly value?: StudentLabDetails[]; /** * The link (url) to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } /** Interface representing a StudentLabs. */ export declare interface StudentLabs { /** * Get a list of all labs associated with the caller of the API. * @param options The options parameters. */ listAll(options?: StudentLabsListAllOptionalParams): PagedAsyncIterableIterator; /** * Get the details for a specified lab associated with the student lab. * @param studentLabName Student lab name. * @param options The options parameters. */ get(studentLabName: string, options?: StudentLabsGetOptionalParams): Promise; } /** Optional parameters. */ export declare interface StudentLabsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type StudentLabsGetResponse = StudentLabDetails; /** Optional parameters. */ export declare interface StudentLabsListAllNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listAllNext operation. */ export declare type StudentLabsListAllNextResponse = StudentLabListResult; /** Optional parameters. */ export declare interface StudentLabsListAllOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listAll operation. */ export declare type StudentLabsListAllResponse = StudentLabListResult; /** * Defines values for StudentLabStatus. \ * {@link KnownStudentLabStatus} can be used interchangeably with StudentLabStatus, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Active** \ * **Disabled** \ * **Expired** \ * **Pending** \ * **Deleted** */ export declare type StudentLabStatus = string; /** List of students. */ export declare interface StudentListResult { /** * The list of students. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly value?: StudentDetails[]; /** * The link (url) to the next page of results. * NOTE: This property will not be serialized. It can only be populated by the server. */ readonly nextLink?: string; } /** * Defines values for StudentRole. \ * {@link KnownStudentRole} can be used interchangeably with StudentRole, * this enum contains the known values that the service supports. * ### Known values supported by the service * **Student** \ * **Admin** */ export declare type StudentRole = string; /** Interface representing a Students. */ export declare interface Students { /** * Get a list of details about students that are associated with the specified lab. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param options The options parameters. */ list(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, options?: StudentsListOptionalParams): PagedAsyncIterableIterator; /** * Get the details for a specific student in the specified lab by student alias * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param studentAlias Student alias. * @param options The options parameters. */ get(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, studentAlias: string, options?: StudentsGetOptionalParams): Promise; /** * Delete the specified student based on the student alias. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param studentAlias Student alias. * @param options The options parameters. */ delete(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, studentAlias: string, options?: StudentsDeleteOptionalParams): Promise; /** * Create and add a new student to the specified lab or update the details of an existing student in a * lab. Note the student must have a valid tenant to accept the lab after they have been added to lab. * @param billingAccountName Billing account name. * @param billingProfileName Billing profile name. * @param invoiceSectionName Invoice section name. * @param studentAlias Student alias. * @param parameters Request parameters that are provided to update student properties. * @param options The options parameters. */ createOrUpdate(billingAccountName: string, billingProfileName: string, invoiceSectionName: string, studentAlias: string, parameters: StudentDetails, options?: StudentsCreateOrUpdateOptionalParams): Promise; } /** Optional parameters. */ export declare interface StudentsCreateOrUpdateOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the createOrUpdate operation. */ export declare type StudentsCreateOrUpdateResponse = StudentDetails; /** Optional parameters. */ export declare interface StudentsDeleteOptionalParams extends coreClient.OperationOptions { } /** Optional parameters. */ export declare interface StudentsGetOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the get operation. */ export declare type StudentsGetResponse = StudentDetails; /** Optional parameters. */ export declare interface StudentsListNextOptionalParams extends coreClient.OperationOptions { } /** Contains response data for the listNext operation. */ export declare type StudentsListNextResponse = StudentListResult; /** Optional parameters. */ export declare interface StudentsListOptionalParams extends coreClient.OperationOptions { /** May be used to show deleted items. */ includeDeleted?: boolean; } /** Contains response data for the list operation. */ export declare type StudentsListResponse = StudentListResult; /** Metadata pertaining to creation and last modification of the resource. */ export declare interface SystemData { /** The identity that created the resource. */ createdBy?: string; /** The type of identity that created the resource. */ createdByType?: CreatedByType; /** The timestamp of resource creation (UTC). */ createdAt?: Date; /** The identity that last modified the resource. */ lastModifiedBy?: string; /** The type of identity that last modified the resource. */ lastModifiedByType?: CreatedByType; /** The timestamp of resource last modification (UTC) */ lastModifiedAt?: Date; } export { }