import { PagedAsyncIterableIterator } from "@azure/core-paging"; import { LabDetails, LabsListAllOptionalParams, LabsListOptionalParams, LabsGetOptionalParams, LabsGetResponse, LabsDeleteOptionalParams, LabsCreateOrUpdateOptionalParams, LabsCreateOrUpdateResponse, InviteCodeGenerateRequest, LabsGenerateInviteCodeOptionalParams, LabsGenerateInviteCodeResponse } from "../models"; /** Interface representing a Labs. */ export 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; } //# sourceMappingURL=labs.d.ts.map