import { LongRunningOperationStatus, type BaseCollectionPaginationCountResponse, type Entity, type User } from '../index.js';
import { type AdditionalDataHolder, type BackedModel, type Parsable, type ParseNode, type SerializationWriter } from '@microsoft/kiota-abstractions';
export type AccountType = (typeof AccountTypeObject)[keyof typeof AccountTypeObject];
export type ActivationState = (typeof ActivationStateObject)[keyof typeof ActivationStateObject];
export interface AssignedTelephoneNumber extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The assignmentCategory property
     */
    assignmentCategory?: AssignmentCategory | null;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The assigned phone number.
     */
    telephoneNumber?: string | null;
}
export type AssignmentCategory = (typeof AssignmentCategoryObject)[keyof typeof AssignmentCategoryObject];
export type AssignmentStatus = (typeof AssignmentStatusObject)[keyof typeof AssignmentStatusObject];
export type AssignmentType = (typeof AssignmentTypeObject)[keyof typeof AssignmentTypeObject];
/**
 * 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 {AssignedTelephoneNumber}
 */
export declare function createAssignedTelephoneNumberFromDiscriminatorValue(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 {EffectivePolicyAssignment}
 */
export declare function createEffectivePolicyAssignmentFromDiscriminatorValue(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 {NumberAssignmentCollectionResponse}
 */
export declare function createNumberAssignmentCollectionResponseFromDiscriminatorValue(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 {NumberAssignment}
 */
export declare function createNumberAssignmentFromDiscriminatorValue(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 {PolicyAssignment}
 */
export declare function createPolicyAssignmentFromDiscriminatorValue(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 {PolicyIdentifierDetail}
 */
export declare function createPolicyIdentifierDetailFromDiscriminatorValue(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 {TeamsAdminRoot}
 */
export declare function createTeamsAdminRootFromDiscriminatorValue(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 {TeamsPolicyAssignment}
 */
export declare function createTeamsPolicyAssignmentFromDiscriminatorValue(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 {TeamsPolicyUserAssignmentCollectionResponse}
 */
export declare function createTeamsPolicyUserAssignmentCollectionResponseFromDiscriminatorValue(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 {TeamsPolicyUserAssignment}
 */
export declare function createTeamsPolicyUserAssignmentFromDiscriminatorValue(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 {TeamsUserConfigurationCollectionResponse}
 */
export declare function createTeamsUserConfigurationCollectionResponseFromDiscriminatorValue(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 {TeamsUserConfiguration}
 */
export declare function createTeamsUserConfigurationFromDiscriminatorValue(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 {TelephoneNumberLongRunningOperationCollectionResponse}
 */
export declare function createTelephoneNumberLongRunningOperationCollectionResponseFromDiscriminatorValue(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 {TelephoneNumberLongRunningOperationDetails}
 */
export declare function createTelephoneNumberLongRunningOperationDetailsFromDiscriminatorValue(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 {TelephoneNumberLongRunningOperation}
 */
export declare function createTelephoneNumberLongRunningOperationFromDiscriminatorValue(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 {TelephoneNumberManagementRoot}
 */
export declare function createTelephoneNumberManagementRootFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
export type CustomerAction = (typeof CustomerActionObject)[keyof typeof CustomerActionObject];
/**
 * The deserialization information for the current model
 * @param AssignedTelephoneNumber The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAssignedTelephoneNumber(assignedTelephoneNumber?: Partial<AssignedTelephoneNumber> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param EffectivePolicyAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoEffectivePolicyAssignment(effectivePolicyAssignment?: Partial<EffectivePolicyAssignment> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param NumberAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoNumberAssignment(numberAssignment?: Partial<NumberAssignment> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param NumberAssignmentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoNumberAssignmentCollectionResponse(numberAssignmentCollectionResponse?: Partial<NumberAssignmentCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param PolicyAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoPolicyAssignment(policyAssignment?: Partial<PolicyAssignment> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param PolicyIdentifierDetail The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoPolicyIdentifierDetail(policyIdentifierDetail?: Partial<PolicyIdentifierDetail> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TeamsAdminRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTeamsAdminRoot(teamsAdminRoot?: Partial<TeamsAdminRoot> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TeamsPolicyAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTeamsPolicyAssignment(teamsPolicyAssignment?: Partial<TeamsPolicyAssignment> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TeamsPolicyUserAssignment The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTeamsPolicyUserAssignment(teamsPolicyUserAssignment?: Partial<TeamsPolicyUserAssignment> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TeamsPolicyUserAssignmentCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTeamsPolicyUserAssignmentCollectionResponse(teamsPolicyUserAssignmentCollectionResponse?: Partial<TeamsPolicyUserAssignmentCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TeamsUserConfiguration The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTeamsUserConfiguration(teamsUserConfiguration?: Partial<TeamsUserConfiguration> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TeamsUserConfigurationCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTeamsUserConfigurationCollectionResponse(teamsUserConfigurationCollectionResponse?: Partial<TeamsUserConfigurationCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TelephoneNumberLongRunningOperation The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTelephoneNumberLongRunningOperation(telephoneNumberLongRunningOperation?: Partial<TelephoneNumberLongRunningOperation> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TelephoneNumberLongRunningOperationCollectionResponse The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTelephoneNumberLongRunningOperationCollectionResponse(telephoneNumberLongRunningOperationCollectionResponse?: Partial<TelephoneNumberLongRunningOperationCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TelephoneNumberLongRunningOperationDetails The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTelephoneNumberLongRunningOperationDetails(telephoneNumberLongRunningOperationDetails?: Partial<TelephoneNumberLongRunningOperationDetails> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @param TelephoneNumberManagementRoot The instance to deserialize into.
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoTelephoneNumberManagementRoot(telephoneNumberManagementRoot?: Partial<TelephoneNumberManagementRoot> | undefined): Record<string, (node: ParseNode) => void>;
export interface EffectivePolicyAssignment extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The policyAssignment property
     */
    policyAssignment?: PolicyAssignment | null;
    /**
     * The type of the assigned policy; for example, TeamsMeetingPolicy and TeamsCallingPolicy.
     */
    policyType?: string | null;
}
export interface NumberAssignment extends Entity, Parsable {
    /**
     * The activationState property
     */
    activationState?: ActivationState | null;
    /**
     * Contains the assignment category such as Primary or Private. The possible values are: primary, private, alternate, unknownFutureValue.
     */
    assignmentCategory?: AssignmentCategory | null;
    /**
     * The assignment status of the phone number. The possible values are: unassigned, internalError, userAssigned, conferenceAssigned, voiceApplicationAssigned, thirdPartyAppAssigned, policyAssigned, unknownFutureValue.
     */
    assignmentStatus?: AssignmentStatus | null;
    /**
     * The ID of the object the phone number is assigned to, either the ObjectId of a user or resource account, or the policy instance ID of a Teams shared calling routing policy instance.
     */
    assignmentTargetId?: string | null;
    /**
     * The list of capabilities assigned to the phone number.
     */
    capabilities?: NumberCapability[] | null;
    /**
     * The city where the phone number is located or associated with.
     */
    city?: string | null;
    /**
     * The ID of the civic address assigned to the phone number.
     */
    civicAddressId?: string | null;
    /**
     * The ISO country code assigned to the phone number.
     */
    isoCountryCode?: string | null;
    /**
     * The ID of the location assigned to the phone number.
     */
    locationId?: string | null;
    /**
     * This property is reserved for internal Microsoft use.
     */
    networkSiteId?: string | null;
    /**
     * The source of the phone number. online is used for phone numbers assigned in Microsoft 365, and onPremises is used for phone numbers assigned in AD on-premises, which are synchronized into Microsoft 365. The possible values are: online, onPremises, unknownFutureValue.
     */
    numberSource?: NumberSource | null;
    /**
     * The numberType property
     */
    numberType?: NumberType | null;
    /**
     * The ID of the operator.
     */
    operatorId?: string | null;
    /**
     * The status of any port in order covering the phone number. The possible values are: completed, firmOrderCommitmentAccepted, unknownFutureValue.
     */
    portInStatus?: PortInStatus | null;
    /**
     * Status of Reverse Number Lookup (RNL). If set to skipInternalVoip, calls are routed through the external Public Switched Telephone Network (PSTN) instead of using internal VoIP resolution.
     */
    reverseNumberLookupOptions?: ReverseNumberLookupOption[] | null;
    /**
     * Indicates what customer actions are available to modify the number.
     */
    supportedCustomerActions?: CustomerAction[] | null;
    /**
     * The telephone number in the record. The recorded telephone number is always displayed with a '+' prefix, regardless of whether it was originally assigned with one.
     */
    telephoneNumber?: string | null;
}
export interface NumberAssignmentCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: NumberAssignment[] | null;
}
export type NumberCapability = (typeof NumberCapabilityObject)[keyof typeof NumberCapabilityObject];
export type NumberSource = (typeof NumberSourceObject)[keyof typeof NumberSourceObject];
export type NumberType = (typeof NumberTypeObject)[keyof typeof NumberTypeObject];
export interface PolicyAssignment extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The assignmentType property
     */
    assignmentType?: AssignmentType | null;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * Represents the name of the policy.
     */
    displayName?: string | null;
    /**
     * Represents the group identifier.
     */
    groupId?: string | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Represents the unique identifier for the policy.
     */
    policyId?: string | null;
}
export interface PolicyIdentifierDetail extends Entity, Parsable {
    /**
     * The display name of the policy instance.
     */
    name?: string | null;
    /**
     * The unique ID associated with the policy instance.
     */
    policyId?: string | null;
}
export type PortInStatus = (typeof PortInStatusObject)[keyof typeof PortInStatusObject];
export type ReverseNumberLookupOption = (typeof ReverseNumberLookupOptionObject)[keyof typeof ReverseNumberLookupOptionObject];
/**
 * Serializes information the current object
 * @param AssignedTelephoneNumber The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAssignedTelephoneNumber(writer: SerializationWriter, assignedTelephoneNumber?: Partial<AssignedTelephoneNumber> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param EffectivePolicyAssignment The instance to serialize from.
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeEffectivePolicyAssignment(writer: SerializationWriter, effectivePolicyAssignment?: Partial<EffectivePolicyAssignment> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param NumberAssignment The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeNumberAssignment(writer: SerializationWriter, numberAssignment?: Partial<NumberAssignment> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param NumberAssignmentCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeNumberAssignmentCollectionResponse(writer: SerializationWriter, numberAssignmentCollectionResponse?: Partial<NumberAssignmentCollectionResponse> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PolicyAssignment The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializePolicyAssignment(writer: SerializationWriter, policyAssignment?: Partial<PolicyAssignment> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param PolicyIdentifierDetail The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializePolicyIdentifierDetail(writer: SerializationWriter, policyIdentifierDetail?: Partial<PolicyIdentifierDetail> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsAdminRoot The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTeamsAdminRoot(writer: SerializationWriter, teamsAdminRoot?: Partial<TeamsAdminRoot> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsPolicyAssignment The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTeamsPolicyAssignment(writer: SerializationWriter, teamsPolicyAssignment?: Partial<TeamsPolicyAssignment> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsPolicyUserAssignment The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTeamsPolicyUserAssignment(writer: SerializationWriter, teamsPolicyUserAssignment?: Partial<TeamsPolicyUserAssignment> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsPolicyUserAssignmentCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTeamsPolicyUserAssignmentCollectionResponse(writer: SerializationWriter, teamsPolicyUserAssignmentCollectionResponse?: Partial<TeamsPolicyUserAssignmentCollectionResponse> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsUserConfiguration The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTeamsUserConfiguration(writer: SerializationWriter, teamsUserConfiguration?: Partial<TeamsUserConfiguration> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TeamsUserConfigurationCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTeamsUserConfigurationCollectionResponse(writer: SerializationWriter, teamsUserConfigurationCollectionResponse?: Partial<TeamsUserConfigurationCollectionResponse> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TelephoneNumberLongRunningOperation The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTelephoneNumberLongRunningOperation(writer: SerializationWriter, telephoneNumberLongRunningOperation?: Partial<TelephoneNumberLongRunningOperation> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TelephoneNumberLongRunningOperationCollectionResponse The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTelephoneNumberLongRunningOperationCollectionResponse(writer: SerializationWriter, telephoneNumberLongRunningOperationCollectionResponse?: Partial<TelephoneNumberLongRunningOperationCollectionResponse> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TelephoneNumberLongRunningOperationDetails The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTelephoneNumberLongRunningOperationDetails(writer: SerializationWriter, telephoneNumberLongRunningOperationDetails?: Partial<TelephoneNumberLongRunningOperationDetails> | undefined | null, isSerializingDerivedType?: boolean): void;
/**
 * Serializes information the current object
 * @param isSerializingDerivedType A boolean indicating whether the serialization is for a derived type.
 * @param TelephoneNumberManagementRoot The instance to serialize from.
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeTelephoneNumberManagementRoot(writer: SerializationWriter, telephoneNumberManagementRoot?: Partial<TelephoneNumberManagementRoot> | undefined | null, isSerializingDerivedType?: boolean): void;
export interface TeamsAdminRoot extends Entity, Parsable {
    /**
     * Represents a navigation property to the Teams policy assignment object.
     */
    policy?: TeamsPolicyAssignment | null;
    /**
     * Represents a collection of available telephone number management operations.
     */
    telephoneNumberManagement?: TelephoneNumberManagementRoot | null;
    /**
     * Represents the configuration information of users who have accounts hosted on Microsoft Teams.
     */
    userConfigurations?: TeamsUserConfiguration[] | null;
}
export interface TeamsPolicyAssignment extends Entity, Parsable {
    /**
     * Navigation property to the collection of user policy assignments.
     */
    userAssignments?: TeamsPolicyUserAssignment[] | null;
}
export interface TeamsPolicyUserAssignment extends Entity, Parsable {
    /**
     * The unique identifier (GUID) of the policy within the specified policy type.
     */
    policyId?: string | null;
    /**
     * The type of Teams policy assigned or unassigned, such as TeamsMeetingBroadcastPolicy.
     */
    policyType?: string | null;
    /**
     * The unique identifier (GUID) of the user.
     */
    userId?: string | null;
}
export interface TeamsPolicyUserAssignmentCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: TeamsPolicyUserAssignment[] | null;
}
export interface TeamsUserConfiguration extends Entity, Parsable {
    /**
     * The type of the account in the Teams context. The possible values are: user, resourceAccount, guest, sfbOnPremUser, unknown, unknownFutureValue, ineligibleUser. Use the Prefer: include-unknown-enum-members request header to get the following value from this enum evolvable enum: ineligibleUser.
     */
    accountType?: AccountType | null;
    /**
     * The date and time when the user was created. The timestamp represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    createdDateTime?: Date | null;
    /**
     * Contains the user's effective policy assignments, with each assignment including policyType and policyAssignment details.
     */
    effectivePolicyAssignments?: EffectivePolicyAssignment[] | null;
    /**
     * The Teams features enabled for a given user based on licensing or service plan.
     */
    featureTypes?: string[] | null;
    /**
     * Indicates whether voice capability is enabled.
     */
    isEnterpriseVoiceEnabled?: boolean | null;
    /**
     * The date and time when the user's details were last modified. The system updates this value each time the user's details are changed. The timestamp represents date and time information using ISO 8601 format and is always in UTC time. For example, midnight UTC on Jan 1, 2014 is 2014-01-01T00:00:00Z.
     */
    modifiedDateTime?: Date | null;
    /**
     * Includes both the phone number and its corresponding assignment category. The assignment category can include values such as primary, private, and alternate.
     */
    telephoneNumbers?: AssignedTelephoneNumber[] | null;
    /**
     * The unique identifier of the tenant in Entra to which this user is assigned.
     */
    tenantId?: string | null;
    /**
     * Represents an Entra user account.
     */
    user?: User | null;
    /**
     * The sign-in address of the user.
     */
    userPrincipalName?: string | null;
}
export interface TeamsUserConfigurationCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: TeamsUserConfiguration[] | null;
}
export interface TelephoneNumberLongRunningOperation extends Entity, Parsable {
    /**
     * Date and time when the asynchronous operation was created.
     */
    createdDateTime?: string | null;
    /**
     * Asynchronous operation details.
     */
    numbers?: TelephoneNumberLongRunningOperationDetails[] | null;
    /**
     * The status property
     */
    status?: LongRunningOperationStatus | null;
}
export interface TelephoneNumberLongRunningOperationCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: TelephoneNumberLongRunningOperation[] | null;
}
export interface TelephoneNumberLongRunningOperationDetails extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Location of the asynchronous operation. It includes the operation identifier.
     */
    resourceLocation?: string | null;
    /**
     * status of the asynchronous operation. The possible values are: notStarted, running, succeeded, failed, unknownFutureValue.
     */
    status?: LongRunningOperationStatus | null;
    /**
     * Indicates the asynchronous operation details.
     */
    statusDetail?: string | null;
}
export interface TelephoneNumberManagementRoot extends Entity, Parsable {
    /**
     * Represents a collection of synchronous telephone number management operations.
     */
    numberAssignments?: NumberAssignment[] | null;
    /**
     * Represents a collection of asynchronous telephone number management operations.
     */
    operations?: TelephoneNumberLongRunningOperation[] | null;
}
export declare const AccountTypeObject: {
    readonly User: "user";
    readonly ResourceAccount: "resourceAccount";
    readonly Guest: "guest";
    readonly SfbOnPremUser: "sfbOnPremUser";
    readonly Unknown: "unknown";
    readonly UnknownFutureValue: "unknownFutureValue";
    readonly IneligibleUser: "ineligibleUser";
};
export declare const ActivationStateObject: {
    readonly Activated: "activated";
    readonly AssignmentPending: "assignmentPending";
    readonly AssignmentFailed: "assignmentFailed";
    readonly UpdatePending: "updatePending";
    readonly UpdateFailed: "updateFailed";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const AssignmentCategoryObject: {
    readonly Primary: "primary";
    readonly Private: "private";
    readonly Alternate: "alternate";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const AssignmentStatusObject: {
    readonly Unassigned: "unassigned";
    readonly InternalError: "internalError";
    readonly UserAssigned: "userAssigned";
    readonly ConferenceAssigned: "conferenceAssigned";
    readonly VoiceApplicationAssigned: "voiceApplicationAssigned";
    readonly ThirdPartyAppAssigned: "thirdPartyAppAssigned";
    readonly PolicyAssigned: "policyAssigned";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const AssignmentTypeObject: {
    readonly Direct: "direct";
    readonly Group: "group";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const CustomerActionObject: {
    readonly LocationUpdate: "locationUpdate";
    readonly Release: "release";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const NumberCapabilityObject: {
    readonly ConferenceAssignment: "conferenceAssignment";
    readonly VoiceApplicationAssignment: "voiceApplicationAssignment";
    readonly UserAssignment: "userAssignment";
    readonly TeamsPhoneMobile: "teamsPhoneMobile";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const NumberSourceObject: {
    readonly Online: "online";
    readonly OnPremises: "onPremises";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const NumberTypeObject: {
    readonly InternalError: "internalError";
    readonly DirectRouting: "directRouting";
    readonly CallingPlan: "callingPlan";
    readonly OperatorConnect: "operatorConnect";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const PortInStatusObject: {
    readonly Completed: "completed";
    readonly FirmOrderCommitmentAccepted: "firmOrderCommitmentAccepted";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ReverseNumberLookupOptionObject: {
    readonly SkipInternalVoip: "skipInternalVoip";
    readonly UnknownFutureValue: "unknownFutureValue";
};
//# sourceMappingURL=index.d.ts.map