import { type Application, type BaseCollectionPaginationCountResponse, type CustomCalloutExtension, type CustomExtensionCallbackConfiguration, type CustomExtensionData, type DeletedItemContainer, type EmailSettings, type Entity, type Group, type KeyValuePair, type SubjectSet, type User } from '../index.js';
import { type AdditionalDataHolder, type BackedModel, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions';
export interface AttributeChangeTrigger extends Parsable, WorkflowExecutionTrigger {
    /**
     * The trigger attribute being changed that triggers the workflowexecutiontrigger of a workflow.)
     */
    triggerAttributes?: TriggerAttribute[] | null;
}
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {AttributeChangeTrigger}
 */
export declare function createAttributeChangeTriggerFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CustomTaskExtensionCallbackConfiguration}
 */
export declare function createCustomTaskExtensionCallbackConfigurationFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CustomTaskExtensionCallbackData}
 */
export declare function createCustomTaskExtensionCallbackDataFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CustomTaskExtensionCalloutData}
 */
export declare function createCustomTaskExtensionCalloutDataFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CustomTaskExtensionCollectionResponse}
 */
export declare function createCustomTaskExtensionCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {CustomTaskExtension}
 */
export declare function createCustomTaskExtensionFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {GroupBasedSubjectSet}
 */
export declare function createGroupBasedSubjectSetFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Insights}
 */
export declare function createInsightsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LifecycleManagementSettings}
 */
export declare function createLifecycleManagementSettingsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {LifecycleWorkflowsContainer}
 */
export declare function createLifecycleWorkflowsContainerFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {MembershipChangeTrigger}
 */
export declare function createMembershipChangeTriggerFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {OnDemandExecutionOnly}
 */
export declare function createOnDemandExecutionOnlyFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Parameter}
 */
export declare function createParameterFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RuleBasedSubjectSet}
 */
export declare function createRuleBasedSubjectSetFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RunCollectionResponse}
 */
export declare function createRunCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Run}
 */
export declare function createRunFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {RunSummary}
 */
export declare function createRunSummaryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskCollectionResponse}
 */
export declare function createTaskCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskDefinitionCollectionResponse}
 */
export declare function createTaskDefinitionCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskDefinition}
 */
export declare function createTaskDefinitionFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Task}
 */
export declare function createTaskFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskProcessingResultCollectionResponse}
 */
export declare function createTaskProcessingResultCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskProcessingResult}
 */
export declare function createTaskProcessingResultFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskReportCollectionResponse}
 */
export declare function createTaskReportCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskReport}
 */
export declare function createTaskReportFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TaskReportSummary}
 */
export declare function createTaskReportSummaryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TimeBasedAttributeTrigger}
 */
export declare function createTimeBasedAttributeTriggerFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TopTasksInsightsSummary}
 */
export declare function createTopTasksInsightsSummaryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TopWorkflowsInsightsSummary}
 */
export declare function createTopWorkflowsInsightsSummaryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TriggerAndScopeBasedConditions}
 */
export declare function createTriggerAndScopeBasedConditionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {TriggerAttribute}
 */
export declare function createTriggerAttributeFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserProcessingResultCollectionResponse}
 */
export declare function createUserProcessingResultCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserProcessingResult}
 */
export declare function createUserProcessingResultFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {UserSummary}
 */
export declare function createUserSummaryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowBase}
 */
export declare function createWorkflowBaseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowCollectionResponse}
 */
export declare function createWorkflowCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowExecutionConditions}
 */
export declare function createWorkflowExecutionConditionsFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowExecutionTrigger}
 */
export declare function createWorkflowExecutionTriggerFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {Workflow}
 */
export declare function createWorkflowFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowsInsightsByCategory}
 */
export declare function createWorkflowsInsightsByCategoryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowsInsightsSummary}
 */
export declare function createWorkflowsInsightsSummaryFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowTemplateCollectionResponse}
 */
export declare function createWorkflowTemplateCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowTemplate}
 */
export declare function createWorkflowTemplateFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowVersionCollectionResponse}
 */
export declare function createWorkflowVersionCollectionResponseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * Creates a new instance of the appropriate class based on discriminator value
 * @param parseNode The parse node to use to read the discriminator value and create the object
 * @returns {WorkflowVersion}
 */
export declare function createWorkflowVersionFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
export interface CustomTaskExtension extends CustomCalloutExtension, Parsable {
    /**
     * The callback configuration for a custom task extension.
     */
    callbackConfiguration?: CustomExtensionCallbackConfiguration | null;
    /**
     * The unique identifier of the Microsoft Entra user that created the custom task extension.Supports $filter(eq, ne) and $expand.
     */
    createdBy?: User | null;
    /**
     * When the custom task extension was created.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    createdDateTime?: Date | null;
    /**
     * The unique identifier of the Microsoft Entra user that modified the custom task extension last.Supports $filter(eq, ne) and $expand.
     */
    lastModifiedBy?: User | null;
    /**
     * When the custom extension was last modified.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    lastModifiedDateTime?: Date | null;
}
export interface CustomTaskExtensionCallbackConfiguration extends CustomExtensionCallbackConfiguration, Parsable {
    /**
     * The authorizedApps property
     */
    authorizedApps?: Application[] | null;
}
export interface CustomTaskExtensionCallbackData extends CustomExtensionData, Parsable {
    /**
     * Operation status that's provided by the Azure Logic App indicating whenever the Azure Logic App has run successfully or not. Supported values: completed, failed, unknownFutureValue.
     */
    operationStatus?: CustomTaskExtensionOperationStatus | null;
}
export interface CustomTaskExtensionCalloutData extends CustomExtensionData, Parsable {
    /**
     * The subject property
     */
    subject?: User | null;
    /**
     * The task property
     */
    task?: Task | null;
    /**
     * The taskProcessingresult property
     */
    taskProcessingresult?: TaskProcessingResult | null;
    /**
     * The workflow property
     */
    workflow?: Workflow | null;
}
export interface CustomTaskExtensionCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: CustomTaskExtension[] | null;
}
export type CustomTaskExtensionOperationStatus = (typeof CustomTaskExtensionOperationStatusObject)[keyof typeof CustomTaskExtensionOperationStatusObject];
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAttributeChangeTrigger(attributeChangeTrigger?: Partial<AttributeChangeTrigger> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoCustomTaskExtension(customTaskExtension?: Partial<CustomTaskExtension> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoCustomTaskExtensionCallbackConfiguration(customTaskExtensionCallbackConfiguration?: Partial<CustomTaskExtensionCallbackConfiguration> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoCustomTaskExtensionCallbackData(customTaskExtensionCallbackData?: Partial<CustomTaskExtensionCallbackData> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoCustomTaskExtensionCalloutData(customTaskExtensionCalloutData?: Partial<CustomTaskExtensionCalloutData> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoCustomTaskExtensionCollectionResponse(customTaskExtensionCollectionResponse?: Partial<CustomTaskExtensionCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoGroupBasedSubjectSet(groupBasedSubjectSet?: Partial<GroupBasedSubjectSet> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoInsights(insights?: Partial<Insights> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoLifecycleManagementSettings(lifecycleManagementSettings?: Partial<LifecycleManagementSettings> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoLifecycleWorkflowsContainer(lifecycleWorkflowsContainer?: Partial<LifecycleWorkflowsContainer> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoMembershipChangeTrigger(membershipChangeTrigger?: Partial<MembershipChangeTrigger> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoOnDemandExecutionOnly(onDemandExecutionOnly?: Partial<OnDemandExecutionOnly> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoParameter(parameter?: Partial<Parameter> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRuleBasedSubjectSet(ruleBasedSubjectSet?: Partial<RuleBasedSubjectSet> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRun(run?: Partial<Run> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRunCollectionResponse(runCollectionResponse?: Partial<RunCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRunSummary(runSummary?: Partial<RunSummary> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTask(task?: Partial<Task> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskCollectionResponse(taskCollectionResponse?: Partial<TaskCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskDefinition(taskDefinition?: Partial<TaskDefinition> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskDefinitionCollectionResponse(taskDefinitionCollectionResponse?: Partial<TaskDefinitionCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskProcessingResult(taskProcessingResult?: Partial<TaskProcessingResult> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskProcessingResultCollectionResponse(taskProcessingResultCollectionResponse?: Partial<TaskProcessingResultCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskReport(taskReport?: Partial<TaskReport> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskReportCollectionResponse(taskReportCollectionResponse?: Partial<TaskReportCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTaskReportSummary(taskReportSummary?: Partial<TaskReportSummary> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTimeBasedAttributeTrigger(timeBasedAttributeTrigger?: Partial<TimeBasedAttributeTrigger> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTopTasksInsightsSummary(topTasksInsightsSummary?: Partial<TopTasksInsightsSummary> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTopWorkflowsInsightsSummary(topWorkflowsInsightsSummary?: Partial<TopWorkflowsInsightsSummary> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTriggerAndScopeBasedConditions(triggerAndScopeBasedConditions?: Partial<TriggerAndScopeBasedConditions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTriggerAttribute(triggerAttribute?: Partial<TriggerAttribute> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserProcessingResult(userProcessingResult?: Partial<UserProcessingResult> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserProcessingResultCollectionResponse(userProcessingResultCollectionResponse?: Partial<UserProcessingResultCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUserSummary(userSummary?: Partial<UserSummary> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflow(workflow?: Partial<Workflow> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowBase(workflowBase?: Partial<WorkflowBase> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowCollectionResponse(workflowCollectionResponse?: Partial<WorkflowCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowExecutionConditions(workflowExecutionConditions?: Partial<WorkflowExecutionConditions> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowExecutionTrigger(workflowExecutionTrigger?: Partial<WorkflowExecutionTrigger> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowsInsightsByCategory(workflowsInsightsByCategory?: Partial<WorkflowsInsightsByCategory> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowsInsightsSummary(workflowsInsightsSummary?: Partial<WorkflowsInsightsSummary> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowTemplate(workflowTemplate?: Partial<WorkflowTemplate> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowTemplateCollectionResponse(workflowTemplateCollectionResponse?: Partial<WorkflowTemplateCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowVersion(workflowVersion?: Partial<WorkflowVersion> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoWorkflowVersionCollectionResponse(workflowVersionCollectionResponse?: Partial<WorkflowVersionCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
export interface GroupBasedSubjectSet extends Parsable, SubjectSet {
    /**
     * The groups property
     */
    groups?: Group[] | null;
}
export interface Insights extends Entity, Parsable {
}
export interface LifecycleManagementSettings extends Entity, Parsable {
    /**
     * The emailSettings property
     */
    emailSettings?: EmailSettings | null;
    /**
     * The interval in hours at which all workflows running in the tenant should be scheduled for execution. This interval has a minimum value of 1 and a maximum value of 24. The default value is 3 hours.
     */
    workflowScheduleIntervalInHours?: number | null;
}
export type LifecycleTaskCategory = (typeof LifecycleTaskCategoryObject)[keyof typeof LifecycleTaskCategoryObject];
export type LifecycleWorkflowCategory = (typeof LifecycleWorkflowCategoryObject)[keyof typeof LifecycleWorkflowCategoryObject];
export type LifecycleWorkflowProcessingStatus = (typeof LifecycleWorkflowProcessingStatusObject)[keyof typeof LifecycleWorkflowProcessingStatusObject];
export interface LifecycleWorkflowsContainer extends Entity, Parsable {
    /**
     * The customTaskExtension instance.
     */
    customTaskExtensions?: CustomTaskExtension[] | null;
    /**
     * Deleted workflows in your lifecycle workflows instance.
     */
    deletedItems?: DeletedItemContainer | null;
    /**
     * The insight container holding workflow insight summaries for a tenant.
     */
    insights?: Insights | null;
    /**
     * The settings property
     */
    settings?: LifecycleManagementSettings | null;
    /**
     * The definition of tasks within the lifecycle workflows instance.
     */
    taskDefinitions?: TaskDefinition[] | null;
    /**
     * The workflows in the lifecycle workflows instance.
     */
    workflows?: Workflow[] | null;
    /**
     * The workflow templates in the lifecycle workflow instance.
     */
    workflowTemplates?: WorkflowTemplate[] | null;
}
export interface MembershipChangeTrigger extends Parsable, WorkflowExecutionTrigger {
    /**
     * The changeType property
     */
    changeType?: MembershipChangeType | null;
}
export type MembershipChangeType = (typeof MembershipChangeTypeObject)[keyof typeof MembershipChangeTypeObject];
export interface OnDemandExecutionOnly extends Parsable, WorkflowExecutionConditions {
}
export interface Parameter extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The name of the parameter.
     */
    name?: string | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The values of the parameter.
     */
    values?: string[] | null;
    /**
     * The valueType property
     */
    valueType?: ValueType | null;
}
export interface RuleBasedSubjectSet extends Parsable, SubjectSet {
    /**
     * The rule for the subject set. Lifecycle Workflows supports a rich set of user properties for configuring the rules using $filter query expressions. For more information, see supported user and query parameters.
     */
    rule?: string | null;
}
export interface Run extends Entity, Parsable {
    /**
     * The date time that the run completed. Value is null if the workflow hasn't completed.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    completedDateTime?: Date | null;
    /**
     * The number of tasks that failed in the run execution.
     */
    failedTasksCount?: number | null;
    /**
     * The number of users that failed in the run execution.
     */
    failedUsersCount?: number | null;
    /**
     * The datetime that the run was last updated.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    lastUpdatedDateTime?: Date | null;
    /**
     * The processingStatus property
     */
    processingStatus?: LifecycleWorkflowProcessingStatus | null;
    /**
     * The date time that the run is scheduled to be executed for a workflow.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    scheduledDateTime?: Date | null;
    /**
     * The date time that the run execution started.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    startedDateTime?: Date | null;
    /**
     * The number of successfully completed users in the run.
     */
    successfulUsersCount?: number | null;
    /**
     * The related taskProcessingResults.
     */
    taskProcessingResults?: TaskProcessingResult[] | null;
    /**
     * The totalTasksCount property
     */
    totalTasksCount?: number | null;
    /**
     * The total number of unprocessed tasks in the run execution.
     */
    totalUnprocessedTasksCount?: number | null;
    /**
     * The total number of users in the workflow execution.
     */
    totalUsersCount?: number | null;
    /**
     * The associated individual user execution.
     */
    userProcessingResults?: UserProcessingResult[] | null;
    /**
     * The workflowExecutionType property
     */
    workflowExecutionType?: WorkflowExecutionType | null;
}
export interface RunCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: Run[] | null;
}
export interface RunSummary extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The number of failed workflow runs.
     */
    failedRuns?: number | null;
    /**
     * The number of failed tasks of a workflow.
     */
    failedTasks?: number | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The number of successful workflow runs.
     */
    successfulRuns?: number | null;
    /**
     * The total number of runs for a workflow.
     */
    totalRuns?: number | null;
    /**
     * The total number of tasks processed by a workflow.
     */
    totalTasks?: number | null;
    /**
     * The total number of users processed by a workflow.
     */
    totalUsers?: number | null;
}
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAttributeChangeTrigger(writer: SerializationWriter, attributeChangeTrigger?: Partial<AttributeChangeTrigger> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeCustomTaskExtension(writer: SerializationWriter, customTaskExtension?: Partial<CustomTaskExtension> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeCustomTaskExtensionCallbackConfiguration(writer: SerializationWriter, customTaskExtensionCallbackConfiguration?: Partial<CustomTaskExtensionCallbackConfiguration> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeCustomTaskExtensionCallbackData(writer: SerializationWriter, customTaskExtensionCallbackData?: Partial<CustomTaskExtensionCallbackData> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeCustomTaskExtensionCalloutData(writer: SerializationWriter, customTaskExtensionCalloutData?: Partial<CustomTaskExtensionCalloutData> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeCustomTaskExtensionCollectionResponse(writer: SerializationWriter, customTaskExtensionCollectionResponse?: Partial<CustomTaskExtensionCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeGroupBasedSubjectSet(writer: SerializationWriter, groupBasedSubjectSet?: Partial<GroupBasedSubjectSet> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeInsights(writer: SerializationWriter, insights?: Partial<Insights> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeLifecycleManagementSettings(writer: SerializationWriter, lifecycleManagementSettings?: Partial<LifecycleManagementSettings> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeLifecycleWorkflowsContainer(writer: SerializationWriter, lifecycleWorkflowsContainer?: Partial<LifecycleWorkflowsContainer> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeMembershipChangeTrigger(writer: SerializationWriter, membershipChangeTrigger?: Partial<MembershipChangeTrigger> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeOnDemandExecutionOnly(writer: SerializationWriter, onDemandExecutionOnly?: Partial<OnDemandExecutionOnly> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeParameter(writer: SerializationWriter, parameter?: Partial<Parameter> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRuleBasedSubjectSet(writer: SerializationWriter, ruleBasedSubjectSet?: Partial<RuleBasedSubjectSet> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRun(writer: SerializationWriter, run?: Partial<Run> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRunCollectionResponse(writer: SerializationWriter, runCollectionResponse?: Partial<RunCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRunSummary(writer: SerializationWriter, runSummary?: Partial<RunSummary> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTask(writer: SerializationWriter, task?: Partial<Task> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskCollectionResponse(writer: SerializationWriter, taskCollectionResponse?: Partial<TaskCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskDefinition(writer: SerializationWriter, taskDefinition?: Partial<TaskDefinition> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskDefinitionCollectionResponse(writer: SerializationWriter, taskDefinitionCollectionResponse?: Partial<TaskDefinitionCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskProcessingResult(writer: SerializationWriter, taskProcessingResult?: Partial<TaskProcessingResult> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskProcessingResultCollectionResponse(writer: SerializationWriter, taskProcessingResultCollectionResponse?: Partial<TaskProcessingResultCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskReport(writer: SerializationWriter, taskReport?: Partial<TaskReport> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskReportCollectionResponse(writer: SerializationWriter, taskReportCollectionResponse?: Partial<TaskReportCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTaskReportSummary(writer: SerializationWriter, taskReportSummary?: Partial<TaskReportSummary> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTimeBasedAttributeTrigger(writer: SerializationWriter, timeBasedAttributeTrigger?: Partial<TimeBasedAttributeTrigger> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTopTasksInsightsSummary(writer: SerializationWriter, topTasksInsightsSummary?: Partial<TopTasksInsightsSummary> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTopWorkflowsInsightsSummary(writer: SerializationWriter, topWorkflowsInsightsSummary?: Partial<TopWorkflowsInsightsSummary> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTriggerAndScopeBasedConditions(writer: SerializationWriter, triggerAndScopeBasedConditions?: Partial<TriggerAndScopeBasedConditions> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTriggerAttribute(writer: SerializationWriter, triggerAttribute?: Partial<TriggerAttribute> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserProcessingResult(writer: SerializationWriter, userProcessingResult?: Partial<UserProcessingResult> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserProcessingResultCollectionResponse(writer: SerializationWriter, userProcessingResultCollectionResponse?: Partial<UserProcessingResultCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUserSummary(writer: SerializationWriter, userSummary?: Partial<UserSummary> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflow(writer: SerializationWriter, workflow?: Partial<Workflow> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowBase(writer: SerializationWriter, workflowBase?: Partial<WorkflowBase> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowCollectionResponse(writer: SerializationWriter, workflowCollectionResponse?: Partial<WorkflowCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowExecutionConditions(writer: SerializationWriter, workflowExecutionConditions?: Partial<WorkflowExecutionConditions> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowExecutionTrigger(writer: SerializationWriter, workflowExecutionTrigger?: Partial<WorkflowExecutionTrigger> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowsInsightsByCategory(writer: SerializationWriter, workflowsInsightsByCategory?: Partial<WorkflowsInsightsByCategory> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowsInsightsSummary(writer: SerializationWriter, workflowsInsightsSummary?: Partial<WorkflowsInsightsSummary> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowTemplate(writer: SerializationWriter, workflowTemplate?: Partial<WorkflowTemplate> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowTemplateCollectionResponse(writer: SerializationWriter, workflowTemplateCollectionResponse?: Partial<WorkflowTemplateCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowVersion(writer: SerializationWriter, workflowVersion?: Partial<WorkflowVersion> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeWorkflowVersionCollectionResponse(writer: SerializationWriter, workflowVersionCollectionResponse?: Partial<WorkflowVersionCollectionResponse> | undefined | null): void;
export interface Task extends Entity, Parsable {
    /**
     * Arguments included within the task.  For guidance to configure this property, see Configure the arguments for built-in Lifecycle Workflow tasks. Required.
     */
    arguments?: KeyValuePair[] | null;
    /**
     * The category property
     */
    category?: LifecycleTaskCategory[] | null;
    /**
     * A Boolean value that specifies whether, if this task fails, the workflow stops, and subsequent tasks aren't run. Optional.
     */
    continueOnError?: boolean | null;
    /**
     * A string that describes the purpose of the task for administrative use. Optional.
     */
    description?: string | null;
    /**
     * A unique string that identifies the task. Required.Supports $filter(eq, ne) and orderBy.
     */
    displayName?: string | null;
    /**
     * An integer that states in what order the task runs in a workflow.Supports $orderby.
     */
    executionSequence?: number | null;
    /**
     * A Boolean value that denotes whether the task is set to run or not. Optional.Supports $filter(eq, ne) and orderBy.
     */
    isEnabled?: boolean | null;
    /**
     * A unique template identifier for the task. For more information about the tasks that Lifecycle Workflows currently supports and their unique identifiers, see Configure the arguments for built-in Lifecycle Workflow tasks. Required.Supports $filter(eq, ne).
     */
    taskDefinitionId?: string | null;
    /**
     * The result of processing the task.
     */
    taskProcessingResults?: TaskProcessingResult[] | null;
}
export interface TaskCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: Task[] | null;
}
export interface TaskDefinition extends Entity, Parsable {
    /**
     * The category property
     */
    category?: LifecycleTaskCategory[] | null;
    /**
     * Defines if the workflow will continue if the task has an error.
     */
    continueOnError?: boolean | null;
    /**
     * The description of the taskDefinition.
     */
    description?: string | null;
    /**
     * The display name of the taskDefinition.Supports $filter(eq, ne) and $orderby.
     */
    displayName?: string | null;
    /**
     * The parameters that must be supplied when creating a workflow task object.Supports $filter(any).
     */
    parameters?: Parameter[] | null;
    /**
     * The version number of the taskDefinition. New records are pushed when we add support for new parameters.Supports $filter(ge, gt, le, lt, eq, ne) and $orderby.
     */
    version?: number | null;
}
export interface TaskDefinitionCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: TaskDefinition[] | null;
}
export interface TaskProcessingResult extends Entity, Parsable {
    /**
     * The date time when taskProcessingResult execution ended. Value is null if task execution is still in progress.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    completedDateTime?: Date | null;
    /**
     * The date time when the taskProcessingResult was created.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    createdDateTime?: Date | null;
    /**
     * Describes why the taskProcessingResult has failed.
     */
    failureReason?: string | null;
    /**
     * The processingStatus property
     */
    processingStatus?: LifecycleWorkflowProcessingStatus | null;
    /**
     * The date time when taskProcessingResult execution started. Value is null if task execution has not yet started.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    startedDateTime?: Date | null;
    /**
     * The subject property
     */
    subject?: User | null;
    /**
     * The task property
     */
    task?: Task | null;
}
export interface TaskProcessingResultCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: TaskProcessingResult[] | null;
}
export interface TaskReport extends Entity, Parsable {
    /**
     * The date time that the associated run completed. Value is null if the run has not completed.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    completedDateTime?: Date | null;
    /**
     * The number of users in the run execution for which the associated task failed.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    failedUsersCount?: number | null;
    /**
     * The date and time that the task report was last updated.
     */
    lastUpdatedDateTime?: Date | null;
    /**
     * The processingStatus property
     */
    processingStatus?: LifecycleWorkflowProcessingStatus | null;
    /**
     * The unique identifier of the associated run.
     */
    runId?: string | null;
    /**
     * The date time that the associated run started. Value is null if the run has not started.
     */
    startedDateTime?: Date | null;
    /**
     * The number of users in the run execution for which the associated task succeeded.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    successfulUsersCount?: number | null;
    /**
     * The task property
     */
    task?: Task | null;
    /**
     * The taskDefinition property
     */
    taskDefinition?: TaskDefinition | null;
    /**
     * The related lifecycle workflow taskProcessingResults.
     */
    taskProcessingResults?: TaskProcessingResult[] | null;
    /**
     * The total number of users in the run execution for which the associated task was scheduled to execute.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    totalUsersCount?: number | null;
    /**
     * The number of users in the run execution for which the associated task is queued, in progress, or canceled.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    unprocessedUsersCount?: number | null;
}
export interface TaskReportCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: TaskReport[] | null;
}
export interface TaskReportSummary extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The number of failed tasks in a report.
     */
    failedTasks?: number | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The total number of successful tasks in a report.
     */
    successfulTasks?: number | null;
    /**
     * The total number of tasks in a report.
     */
    totalTasks?: number | null;
    /**
     * The number of unprocessed tasks in a report.
     */
    unprocessedTasks?: number | null;
}
export interface TimeBasedAttributeTrigger extends Parsable, WorkflowExecutionTrigger {
    /**
     * How many days before or after the time-based attribute specified the workflow should trigger. For example, if the attribute is employeeHireDate and offsetInDays is -1, then the workflow should trigger one day before the employee hire date. The value can range between -180 and 180 days.
     */
    offsetInDays?: number | null;
    /**
     * The timeBasedAttribute property
     */
    timeBasedAttribute?: WorkflowTriggerTimeBasedAttribute | null;
}
export interface TopTasksInsightsSummary extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * Count of failed runs of the task.
     */
    failedTasks?: number | null;
    /**
     * Count of failed users who were processed by the task.
     */
    failedUsers?: number | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Count of successful runs of the task.
     */
    successfulTasks?: number | null;
    /**
     * Count of successful users processed by the task.
     */
    successfulUsers?: number | null;
    /**
     * The name of the task.
     */
    taskDefinitionDisplayName?: string | null;
    /**
     * The task ID.
     */
    taskDefinitionId?: string | null;
    /**
     * Count of total runs of the task.
     */
    totalTasks?: number | null;
    /**
     * Count of total users processed by the task.
     */
    totalUsers?: number | null;
}
export interface TopWorkflowsInsightsSummary extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * Count of failed runs for workflow.
     */
    failedRuns?: number | null;
    /**
     * Count of failed users who were processed.
     */
    failedUsers?: number | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Count of successful runs of the workflow.
     */
    successfulRuns?: number | null;
    /**
     * Count of successful users processed by the workflow.
     */
    successfulUsers?: number | null;
    /**
     * Count of total runs of workflow.
     */
    totalRuns?: number | null;
    /**
     * Total number of users processed by the workflow.
     */
    totalUsers?: number | null;
    /**
     * The workflowCategory property
     */
    workflowCategory?: LifecycleWorkflowCategory | null;
    /**
     * The name of the workflow.
     */
    workflowDisplayName?: string | null;
    /**
     * The workflow ID.
     */
    workflowId?: string | null;
    /**
     * The version of the workflow that was a top workflow ran.
     */
    workflowVersion?: number | null;
}
export interface TriggerAndScopeBasedConditions extends Parsable, WorkflowExecutionConditions {
    /**
     * Defines who the workflow runs for.
     */
    scope?: SubjectSet | null;
    /**
     * What triggers a workflow to run.
     */
    trigger?: WorkflowExecutionTrigger | null;
}
export interface TriggerAttribute extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The name of the trigger attribute that is changed to trigger an attributeChangeTrigger workflow.
     */
    name?: string | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
export interface UserProcessingResult extends Entity, Parsable {
    /**
     * The date time that the workflow execution for a user completed. Value is null if the workflow hasn't completed.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    completedDateTime?: Date | null;
    /**
     * The number of tasks that failed in the workflow execution.
     */
    failedTasksCount?: number | null;
    /**
     * The processingStatus property
     */
    processingStatus?: LifecycleWorkflowProcessingStatus | null;
    /**
     * The date time that the workflow is scheduled to be executed for a user.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    scheduledDateTime?: Date | null;
    /**
     * The date time that the workflow execution started. Value is null if the workflow execution has not started.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    startedDateTime?: Date | null;
    /**
     * The subject property
     */
    subject?: User | null;
    /**
     * The associated individual task execution.
     */
    taskProcessingResults?: TaskProcessingResult[] | null;
    /**
     * The total number of tasks that in the workflow execution.
     */
    totalTasksCount?: number | null;
    /**
     * The total number of unprocessed tasks for the workflow.
     */
    totalUnprocessedTasksCount?: number | null;
    /**
     * The workflowExecutionType property
     */
    workflowExecutionType?: WorkflowExecutionType | null;
    /**
     * The version of the workflow that was executed.
     */
    workflowVersion?: number | null;
}
export interface UserProcessingResultCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: UserProcessingResult[] | null;
}
export interface UserSummary extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The number of failed tasks for users in a user summary.
     */
    failedTasks?: number | null;
    /**
     * The number of failed users in a user summary.
     */
    failedUsers?: number | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The number of successful users in a user summary.
     */
    successfulUsers?: number | null;
    /**
     * The total tasks of users in a user summary.
     */
    totalTasks?: number | null;
    /**
     * The total number of users in a user summary
     */
    totalUsers?: number | null;
}
export type ValueType = (typeof ValueTypeObject)[keyof typeof ValueTypeObject];
export interface Workflow extends Parsable, WorkflowBase {
    /**
     * When the workflow was deleted.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    deletedDateTime?: Date | null;
    /**
     * The unique identifier of the Microsoft Entra identity that last modified the workflow object.
     */
    executionScope?: UserProcessingResult[] | null;
    /**
     * Identifier used for individually addressing a specific workflow.Supports $filter(eq, ne) and $orderby.
     */
    id?: string | null;
    /**
     * The date time when the workflow is expected to run next based on the schedule interval, if there are any users matching the execution conditions. Supports $filter(lt,gt) and $orderby.
     */
    nextScheduleRunDateTime?: Date | null;
    /**
     * Workflow runs.
     */
    runs?: Run[] | null;
    /**
     * Represents the aggregation of task execution data for tasks within a workflow object.
     */
    taskReports?: TaskReport[] | null;
    /**
     * Per-user workflow execution results.
     */
    userProcessingResults?: UserProcessingResult[] | null;
    /**
     * The current version number of the workflow. Value is 1 when the workflow is first created.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    version?: number | null;
    /**
     * The workflow versions that are available.
     */
    versions?: WorkflowVersion[] | null;
}
export interface WorkflowBase extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The category property
     */
    category?: LifecycleWorkflowCategory | null;
    /**
     * The user who created the workflow.
     */
    createdBy?: User | null;
    /**
     * When a workflow was created.
     */
    createdDateTime?: Date | null;
    /**
     * A string that describes the purpose of the workflow.
     */
    description?: string | null;
    /**
     * A string to identify the workflow.
     */
    displayName?: string | null;
    /**
     * Defines when and for who the workflow will run.
     */
    executionConditions?: WorkflowExecutionConditions | null;
    /**
     * Determines whether the workflow is enabled or disabled. If this setting is true, the workflow can be run on demand or on schedule when isSchedulingEnabled is true.
     */
    isEnabled?: boolean | null;
    /**
     * If true, the Lifecycle Workflow engine executes the workflow based on the schedule defined by tenant settings. Can't be true for a disabled workflow (where isEnabled is false).
     */
    isSchedulingEnabled?: boolean | null;
    /**
     * The user who last modified the workflow.
     */
    lastModifiedBy?: User | null;
    /**
     * When the workflow was last modified.
     */
    lastModifiedDateTime?: Date | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The tasks in the workflow.
     */
    tasks?: Task[] | null;
}
export interface WorkflowCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: Workflow[] | null;
}
export interface WorkflowExecutionConditions extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
export interface WorkflowExecutionTrigger extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
export type WorkflowExecutionType = (typeof WorkflowExecutionTypeObject)[keyof typeof WorkflowExecutionTypeObject];
export interface WorkflowsInsightsByCategory extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * Failed 'Joiner' workflows processed in a tenant.
     */
    failedJoinerRuns?: number | null;
    /**
     * Failed 'Leaver' workflows processed in a tenant.
     */
    failedLeaverRuns?: number | null;
    /**
     * Failed 'Mover' workflows processed in a tenant.
     */
    failedMoverRuns?: number | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Successful 'Joiner' workflows processed in a tenant.
     */
    successfulJoinerRuns?: number | null;
    /**
     * Successful 'Leaver' workflows processed in a tenant.
     */
    successfulLeaverRuns?: number | null;
    /**
     * Successful 'Mover' workflows processed in a tenant.
     */
    successfulMoverRuns?: number | null;
    /**
     * Total 'Joiner' workflows processed in a tenant.
     */
    totalJoinerRuns?: number | null;
    /**
     * Total 'Leaver' workflows processed in a tenant.
     */
    totalLeaverRuns?: number | null;
    /**
     * Total 'Mover' workflows processed in a tenant.
     */
    totalMoverRuns?: number | null;
}
export interface WorkflowsInsightsSummary extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores additional data not described in the OpenAPI description found when deserializing. Can be used for serialization as well.
     */
    additionalData?: Record<string, unknown>;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * Count of failed workflow runs processed in the tenant.
     */
    failedRuns?: number | null;
    /**
     * Count of failed tasks processed in the tenant.
     */
    failedTasks?: number | null;
    /**
     * Count of failed users processed by workflows in the tenant.
     */
    failedUsers?: number | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Count of successful workflow runs processed in the tenant.
     */
    successfulRuns?: number | null;
    /**
     * Count of successful tasks processed in the tenant.
     */
    successfulTasks?: number | null;
    /**
     * Count of successful users processed by workflows in the tenant.
     */
    successfulUsers?: number | null;
    /**
     * Count of total workflows processed in the tenant.
     */
    totalRuns?: number | null;
    /**
     * Count of total tasks processed by workflows in the tenant.
     */
    totalTasks?: number | null;
    /**
     * Count of total users processed by workflows in the tenant.
     */
    totalUsers?: number | null;
}
export interface WorkflowTemplate extends Entity, Parsable {
    /**
     * The category property
     */
    category?: LifecycleWorkflowCategory | null;
    /**
     * The description of the workflowTemplate.
     */
    description?: string | null;
    /**
     * The display name of the workflowTemplate.Supports $filter(eq, ne) and $orderby.
     */
    displayName?: string | null;
    /**
     * Conditions describing when to execute the workflow and the criteria to identify in-scope subject set.
     */
    executionConditions?: WorkflowExecutionConditions | null;
    /**
     * Represents the configured tasks to execute and their execution sequence within a workflow. This relationship is expanded by default.
     */
    tasks?: Task[] | null;
}
export interface WorkflowTemplateCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: WorkflowTemplate[] | null;
}
export type WorkflowTriggerTimeBasedAttribute = (typeof WorkflowTriggerTimeBasedAttributeObject)[keyof typeof WorkflowTriggerTimeBasedAttributeObject];
export interface WorkflowVersion extends Parsable, WorkflowBase {
    /**
     * The version of the workflow.Supports $filter(lt, le, gt, ge, eq, ne) and $orderby.
     */
    versionNumber?: number | null;
}
export interface WorkflowVersionCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: WorkflowVersion[] | null;
}
export declare const CustomTaskExtensionOperationStatusObject: {
    readonly Completed: "completed";
    readonly Failed: "failed";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const LifecycleTaskCategoryObject: {
    readonly Joiner: "joiner";
    readonly Leaver: "leaver";
    readonly UnknownFutureValue: "unknownFutureValue";
    readonly Mover: "mover";
};
export declare const LifecycleWorkflowCategoryObject: {
    readonly Joiner: "joiner";
    readonly Leaver: "leaver";
    readonly UnknownFutureValue: "unknownFutureValue";
    readonly Mover: "mover";
};
export declare const LifecycleWorkflowProcessingStatusObject: {
    readonly Queued: "queued";
    readonly InProgress: "inProgress";
    readonly Completed: "completed";
    readonly CompletedWithErrors: "completedWithErrors";
    readonly Canceled: "canceled";
    readonly Failed: "failed";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const MembershipChangeTypeObject: {
    readonly Add: "add";
    readonly Remove: "remove";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ValueTypeObject: {
    readonly EnumEscaped: "enum";
    readonly String: "string";
    readonly Int: "int";
    readonly Bool: "bool";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const WorkflowExecutionTypeObject: {
    readonly Scheduled: "scheduled";
    readonly OnDemand: "onDemand";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const WorkflowTriggerTimeBasedAttributeObject: {
    readonly EmployeeHireDate: "employeeHireDate";
    readonly EmployeeLeaveDateTime: "employeeLeaveDateTime";
    readonly UnknownFutureValue: "unknownFutureValue";
    readonly CreatedDateTime: "createdDateTime";
};
//# sourceMappingURL=index.d.ts.map