import { BinaryOperator, type AuthorizationSystem, type BaseCollectionPaginationCountResponse, type Entity, type PublicError } from '../index.js';
import { type IndustryDataRoot } from '../industryData/index.js';
import { type AdditionalDataHolder, type BackedModel, type Parsable, type ParseNode, type SerializationWriter, type UntypedNode } from '@microsoft/kiota-abstractions';
export type AccessType = (typeof AccessTypeObject)[keyof typeof AccessTypeObject];
export interface Acl extends AdditionalDataHolder, BackedModel, Parsable {
    /**
     * The accessType property
     */
    accessType?: AccessType | null;
    /**
     * 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 source of identity. Possible values are azureActiveDirectory or external.
     */
    identitySource?: IdentitySourceType | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * The type property
     */
    type?: AclType | null;
    /**
     * The unique identifer of the identity. For Microsoft Entra identities, value is set to the object identifier of the user, group or tenant for types user, group and everyone (and everyoneExceptGuests) respectively. For external groups, value is set to the ID of the externalGroup.
     */
    value?: string | null;
}
export type AclType = (typeof AclTypeObject)[keyof typeof AclTypeObject];
export interface ActivitySettings 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;
    /**
     * Specifies configurations to identify an externalItem based on a shared URL.
     */
    urlToItemResolvers?: UrlToItemResolverBase[] | null;
}
export interface ComplianceSettings 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 eDiscoveryResultTemplates property
     */
    eDiscoveryResultTemplates?: DisplayTemplate[] | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
export interface Configuration 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>;
    /**
     * A collection of application IDs for registered Microsoft Entra apps allowed to manage the externalConnection and index content in the externalConnection.
     */
    authorizedAppIds?: string[] | null;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
export interface ConnectionOperation extends Entity, Parsable {
    /**
     * If status is failed, provides more information about the error that caused the failure.
     */
    errorEscaped?: PublicError | null;
    /**
     * Indicates the status of the asynchronous operation. Possible values are: unspecified, inprogress, completed, failed.
     */
    status?: ConnectionOperationStatus | null;
}
export interface ConnectionOperationCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: ConnectionOperation[] | null;
}
export type ConnectionOperationStatus = (typeof ConnectionOperationStatusObject)[keyof typeof ConnectionOperationStatusObject];
export interface ConnectionQuota extends Entity, Parsable {
    /**
     * The minimum of two values, one representing the items remaining in the connection and the other remaining items at tenant-level. The following equation represents the formula used to calculate the minimum number: min ({max capacity in the connection} – {number of items in the connection}, {tenant quota} – {number of items indexed in all connections}). If the connection is not monetized, such as in a preview connector or preview content experience, then this property is simply the number of remaining items in the connection.
     */
    itemsRemaining?: number | null;
}
export type ConnectionState = (typeof ConnectionStateObject)[keyof typeof ConnectionStateObject];
export type ContentExperienceType = (typeof ContentExperienceTypeObject)[keyof typeof ContentExperienceTypeObject];
/**
 * 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 {Acl}
 */
export declare function createAclFromDiscriminatorValue(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 {ActivitySettings}
 */
export declare function createActivitySettingsFromDiscriminatorValue(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 {ComplianceSettings}
 */
export declare function createComplianceSettingsFromDiscriminatorValue(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 {Configuration}
 */
export declare function createConfigurationFromDiscriminatorValue(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 {ConnectionOperationCollectionResponse}
 */
export declare function createConnectionOperationCollectionResponseFromDiscriminatorValue(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 {ConnectionOperation}
 */
export declare function createConnectionOperationFromDiscriminatorValue(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 {ConnectionQuota}
 */
export declare function createConnectionQuotaFromDiscriminatorValue(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 {DisplayTemplate}
 */
export declare function createDisplayTemplateFromDiscriminatorValue(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 {ExternalActivityCollectionResponse}
 */
export declare function createExternalActivityCollectionResponseFromDiscriminatorValue(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 {ExternalActivity}
 */
export declare function createExternalActivityFromDiscriminatorValue(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 {ExternalActivityResult}
 */
export declare function createExternalActivityResultFromDiscriminatorValue(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 {ExternalConnectionCollectionResponse}
 */
export declare function createExternalConnectionCollectionResponseFromDiscriminatorValue(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 {ExternalConnection}
 */
export declare function createExternalConnectionFromDiscriminatorValue(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 {External}
 */
export declare function createExternalFromDiscriminatorValue(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 {ExternalGroupCollectionResponse}
 */
export declare function createExternalGroupCollectionResponseFromDiscriminatorValue(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 {ExternalGroup}
 */
export declare function createExternalGroupFromDiscriminatorValue(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 {ExternalItemCollectionResponse}
 */
export declare function createExternalItemCollectionResponseFromDiscriminatorValue(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 {ExternalItemContent}
 */
export declare function createExternalItemContentFromDiscriminatorValue(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 {ExternalItem}
 */
export declare function createExternalItemFromDiscriminatorValue(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 {IdentityCollectionResponse}
 */
export declare function createIdentityCollectionResponseFromDiscriminatorValue(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 {Identity}
 */
export declare function createIdentityFromDiscriminatorValue(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 {ItemIdResolver}
 */
export declare function createItemIdResolverFromDiscriminatorValue(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 {Properties}
 */
export declare function createPropertiesFromDiscriminatorValue(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 {Property}
 */
export declare function createPropertyFromDiscriminatorValue(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 {PropertyRule}
 */
export declare function createPropertyRuleFromDiscriminatorValue(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 {RankingHint}
 */
export declare function createRankingHintFromDiscriminatorValue(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 {Schema}
 */
export declare function createSchemaFromDiscriminatorValue(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 {SearchSettings}
 */
export declare function createSearchSettingsFromDiscriminatorValue(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 {UrlMatchInfo}
 */
export declare function createUrlMatchInfoFromDiscriminatorValue(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 {UrlToItemResolverBase}
 */
export declare function createUrlToItemResolverBaseFromDiscriminatorValue(parseNode: ParseNode | undefined): ((instance?: Parsable) => Record<string, (node: ParseNode) => void>);
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoAcl(acl?: Partial<Acl> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoActivitySettings(activitySettings?: Partial<ActivitySettings> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoComplianceSettings(complianceSettings?: Partial<ComplianceSettings> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoConfiguration(configuration?: Partial<Configuration> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoConnectionOperation(connectionOperation?: Partial<ConnectionOperation> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoConnectionOperationCollectionResponse(connectionOperationCollectionResponse?: Partial<ConnectionOperationCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoConnectionQuota(connectionQuota?: Partial<ConnectionQuota> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoDisplayTemplate(displayTemplate?: Partial<DisplayTemplate> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternal(external?: Partial<External> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalActivity(externalActivity?: Partial<ExternalActivity> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalActivityCollectionResponse(externalActivityCollectionResponse?: Partial<ExternalActivityCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalActivityResult(externalActivityResult?: Partial<ExternalActivityResult> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalConnection(externalConnection?: Partial<ExternalConnection> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalConnectionCollectionResponse(externalConnectionCollectionResponse?: Partial<ExternalConnectionCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalGroup(externalGroup?: Partial<ExternalGroup> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalGroupCollectionResponse(externalGroupCollectionResponse?: Partial<ExternalGroupCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalItem(externalItem?: Partial<ExternalItem> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalItemCollectionResponse(externalItemCollectionResponse?: Partial<ExternalItemCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoExternalItemContent(externalItemContent?: Partial<ExternalItemContent> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIdentity(identity?: Partial<Identity> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoIdentityCollectionResponse(identityCollectionResponse?: Partial<IdentityCollectionResponse> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoItemIdResolver(itemIdResolver?: Partial<ItemIdResolver> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoProperties(properties?: Partial<Properties> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoProperty(property?: Partial<Property> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoPropertyRule(propertyRule?: Partial<PropertyRule> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoRankingHint(rankingHint?: Partial<RankingHint> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSchema(schema?: Partial<Schema> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoSearchSettings(searchSettings?: Partial<SearchSettings> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUrlMatchInfo(urlMatchInfo?: Partial<UrlMatchInfo> | undefined): Record<string, (node: ParseNode) => void>;
/**
 * The deserialization information for the current model
 * @returns {Record<string, (node: ParseNode) => void>}
 */
export declare function deserializeIntoUrlToItemResolverBase(urlToItemResolverBase?: Partial<UrlToItemResolverBase> | undefined): Record<string, (node: ParseNode) => void>;
export interface DisplayTemplate 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 text identifier for the display template; for example, contosoTickets. Maximum 16 characters. Only alphanumeric characters allowed.
     */
    id?: string | null;
    /**
     * The definition of the content's appearance, represented by an Adaptive Card, which is a JSON-serialized card object model.
     */
    layout?: UntypedNode | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Defines the priority of a display template. A display template with priority 1 is evaluated before a template with priority 4. Gaps in priority values are supported. Must be positive value.
     */
    priority?: number | null;
    /**
     * Specifies additional rules for selecting this display template based on the item schema. Optional.
     */
    rules?: PropertyRule[] | null;
}
export interface External 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>;
    /**
     * Represents an onboarded Amazon Web Services (AWS) account, Azure subscription, or Google Cloud Platform (GCP) project that Microsoft Entra Permissions Management collects and analyzes permissions and actions on.
     */
    authorizationSystems?: AuthorizationSystem[] | null;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * The connections property
     */
    connections?: ExternalConnection[] | null;
    /**
     * The industryData property
     */
    industryData?: IndustryDataRoot | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
export interface ExternalActivity extends Entity, Parsable {
    /**
     * Represents an identity used to identify who is responsible for the activity.
     */
    performedBy?: Identity | null;
    /**
     * The date and time when the particular activity occurred. The DateTimeOffset type 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.
     */
    startDateTime?: Date | null;
    /**
     * The type property
     */
    type?: ExternalActivityType | null;
}
export interface ExternalActivityCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: ExternalActivity[] | null;
}
export interface ExternalActivityResult extends ExternalActivity, Parsable {
    /**
     * Error information that explains the failure to process an external activity.
     */
    errorEscaped?: PublicError | null;
}
export type ExternalActivityType = (typeof ExternalActivityTypeObject)[keyof typeof ExternalActivityTypeObject];
export interface ExternalConnection extends Entity, Parsable {
    /**
     * Collects configurable settings related to activities involving connector content.
     */
    activitySettings?: ActivitySettings | null;
    /**
     * The complianceSettings property
     */
    complianceSettings?: ComplianceSettings | null;
    /**
     * Specifies additional application IDs that are allowed to manage the connection and to index content in the connection. Optional.
     */
    configuration?: Configuration | null;
    /**
     * The Teams App ID. Optional.
     */
    connectorId?: string | null;
    /**
     * Description of the connection displayed in the Microsoft 365 admin center. Optional.
     */
    description?: string | null;
    /**
     * The list of content experiences the connection will participate in. Possible values are search.
     */
    enabledContentExperiences?: ContentExperienceType[] | null;
    /**
     * The groups property
     */
    groups?: ExternalGroup[] | null;
    /**
     * The number of items ingested into a connection. This value is refreshed every 15 minutes. If the connection state is draft, then ingestedItemsCount will be null.
     */
    ingestedItemsCount?: number | null;
    /**
     * The items property
     */
    items?: ExternalItem[] | null;
    /**
     * The display name of the connection to be displayed in the Microsoft 365 admin center. Maximum length of 128 characters. Required.
     */
    name?: string | null;
    /**
     * The operations property
     */
    operations?: ConnectionOperation[] | null;
    /**
     * The quota property
     */
    quota?: ConnectionQuota | null;
    /**
     * The schema property
     */
    schema?: Schema | null;
    /**
     * The settings configuring the search experience for content in this connection, such as the display templates for search results.
     */
    searchSettings?: SearchSettings | null;
    /**
     * Indicates the current state of the connection. Possible values are draft, ready, obsolete, and limitExceeded. Required.
     */
    state?: ConnectionState | null;
}
export interface ExternalConnectionCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: ExternalConnection[] | null;
}
export interface ExternalGroup extends Entity, Parsable {
    /**
     * The description of the external group. Optional.
     */
    description?: string | null;
    /**
     * The friendly name of the external group. Optional.
     */
    displayName?: string | null;
    /**
     * A member added to an externalGroup. You can add Microsoft Entra users, Microsoft Entra groups, or other externalGroups as members.
     */
    members?: Identity[] | null;
}
export interface ExternalGroupCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: ExternalGroup[] | null;
}
export interface ExternalItem extends Entity, Parsable {
    /**
     * An array of access control entries. Each entry specifies the access granted to a user or group. Required.
     */
    acl?: Acl[] | null;
    /**
     * Returns a list of activities performed on the item. Write-only.
     */
    activities?: ExternalActivity[] | null;
    /**
     * A plain-text representation of the contents of the item. The text in this property is full-text indexed. Optional.
     */
    content?: ExternalItemContent | null;
    /**
     * A property bag with the properties of the item. The properties MUST conform to the schema defined for the externalConnection. Required.
     */
    properties?: Properties | null;
}
export interface ExternalItemCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: ExternalItem[] | null;
}
export interface ExternalItemContent 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;
    /**
     * The type property
     */
    type?: ExternalItemContentType | null;
    /**
     * The content for the externalItem. Required.
     */
    value?: string | null;
}
export type ExternalItemContentType = (typeof ExternalItemContentTypeObject)[keyof typeof ExternalItemContentTypeObject];
export interface Identity extends Entity, Parsable {
    /**
     * The type of identity. Possible values are: user or group for Microsoft Entra identities and externalgroup for groups in an external system.
     */
    type?: IdentityType | null;
}
export interface IdentityCollectionResponse extends BaseCollectionPaginationCountResponse, Parsable {
    /**
     * The value property
     */
    value?: Identity[] | null;
}
export type IdentitySourceType = (typeof IdentitySourceTypeObject)[keyof typeof IdentitySourceTypeObject];
export type IdentityType = (typeof IdentityTypeObject)[keyof typeof IdentityTypeObject];
export type ImportanceScore = (typeof ImportanceScoreObject)[keyof typeof ImportanceScoreObject];
export interface ItemIdResolver extends Parsable, UrlToItemResolverBase {
    /**
     * Pattern that specifies how to form the ID of the external item that the URL represents. The named groups from the regular expression in urlPattern within the urlMatchInfo can be referenced by inserting the group name inside curly brackets.
     */
    itemId?: string | null;
    /**
     * Configurations to match and resolve URL.
     */
    urlMatchInfo?: UrlMatchInfo | null;
}
export type Label = (typeof LabelObject)[keyof typeof LabelObject];
export interface Properties 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 Property 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>;
    /**
     * A set of aliases or friendly names for the property. Maximum 32 characters. Only alphanumeric characters allowed. For example, each string might not contain control characters, whitespace, or any of the following: :, ;, ,, (, ), [, ], {, }, %, $, +, !, *, =, &, ?, @, #, /, ~, ', ', <, >, `, ^. Optional.
     */
    aliases?: string[] | null;
    /**
     * Stores model information.
     */
    backingStoreEnabled?: boolean | null;
    /**
     * Specifies if the property will be matched exactly for queries. Exact matching can only be set to true for non-searchable properties of type string or stringCollection. Optional.
     */
    isExactMatchRequired?: boolean | null;
    /**
     * Specifies if the property is queryable. Queryable properties can be used in Keyword Query Language (KQL) queries. Optional.
     */
    isQueryable?: boolean | null;
    /**
     * Specifies if the property is refinable.  Refinable properties can be used to filter search results in the Search API and add a refiner control in the Microsoft Search user experience. Optional.
     */
    isRefinable?: boolean | null;
    /**
     * Specifies if the property is retrievable. Retrievable properties are returned in the result set when items are returned by the search API. Retrievable properties are also available to add to the display template used to render search results. Optional.
     */
    isRetrievable?: boolean | null;
    /**
     * Specifies if the property is searchable. Only properties of type string or stringCollection can be searchable. Non-searchable properties aren't added to the search index. Optional.
     */
    isSearchable?: boolean | null;
    /**
     * Specifies one or more well-known tags added against a property. Labels help Microsoft Search understand the semantics of the data in the connection. Adding appropriate labels would result in an enhanced search experience (for example, better relevance). Optional.The possible values are: title, url, createdBy, lastModifiedBy, authors, createdDateTime, lastModifiedDateTime, fileName, fileExtension, unknownFutureValue, containerName, containerUrl, iconUrl. Use the Prefer: include-unknown-enum-members request header to get the following values in this evolvable enum: containerName, containerUrl, iconUrl.
     */
    labels?: Label[] | null;
    /**
     * The name of the property. Maximum 32 characters. Only alphanumeric characters allowed. For example, the property name may not contain control characters, whitespace, or any of the following: :, ;, ,, (, ), [, ], {, }, %, $, +, !, *, =, &, ?, @, #, /, ~, ', ', <, >, `, ^.  Required.
     */
    name?: string | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * Specifies the property ranking hint. Developers can specify which properties are most important, allowing Microsoft Search to determine the search relevance of the content.
     */
    rankingHint?: RankingHint | null;
    /**
     * The type property
     */
    type?: PropertyType | null;
}
export interface PropertyRule 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;
    /**
     * The operation property
     */
    operation?: RuleOperation | null;
    /**
     * The property from the externalItem schema. Required.
     */
    property?: string | null;
    /**
     * A collection with one or many strings. One or more specified strings are matched with the specified property using the specified operation. Required.
     */
    values?: string[] | null;
    /**
     * The valuesJoinedBy property
     */
    valuesJoinedBy?: BinaryOperator | null;
}
export type PropertyType = (typeof PropertyTypeObject)[keyof typeof PropertyTypeObject];
export interface RankingHint 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 importanceScore property
     */
    importanceScore?: ImportanceScore | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
}
export type RuleOperation = (typeof RuleOperationObject)[keyof typeof RuleOperationObject];
export interface Schema extends Entity, Parsable {
    /**
     * Must be set to microsoft.graph.externalItem. Required.
     */
    baseType?: string | null;
    /**
     * The properties defined for the items in the connection. The minimum number of properties is one, the maximum is 128.
     */
    properties?: Property[] | null;
}
export interface SearchSettings 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;
    /**
     * Enables the developer to define the appearance of the content and configure conditions that dictate when the template should be displayed. Maximum of 2 search result templates per connection.
     */
    searchResultTemplates?: DisplayTemplate[] | null;
}
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeAcl(writer: SerializationWriter, acl?: Partial<Acl> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeActivitySettings(writer: SerializationWriter, activitySettings?: Partial<ActivitySettings> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeComplianceSettings(writer: SerializationWriter, complianceSettings?: Partial<ComplianceSettings> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeConfiguration(writer: SerializationWriter, configuration?: Partial<Configuration> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeConnectionOperation(writer: SerializationWriter, connectionOperation?: Partial<ConnectionOperation> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeConnectionOperationCollectionResponse(writer: SerializationWriter, connectionOperationCollectionResponse?: Partial<ConnectionOperationCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeConnectionQuota(writer: SerializationWriter, connectionQuota?: Partial<ConnectionQuota> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeDisplayTemplate(writer: SerializationWriter, displayTemplate?: Partial<DisplayTemplate> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternal(writer: SerializationWriter, external?: Partial<External> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalActivity(writer: SerializationWriter, externalActivity?: Partial<ExternalActivity> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalActivityCollectionResponse(writer: SerializationWriter, externalActivityCollectionResponse?: Partial<ExternalActivityCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalActivityResult(writer: SerializationWriter, externalActivityResult?: Partial<ExternalActivityResult> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalConnection(writer: SerializationWriter, externalConnection?: Partial<ExternalConnection> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalConnectionCollectionResponse(writer: SerializationWriter, externalConnectionCollectionResponse?: Partial<ExternalConnectionCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalGroup(writer: SerializationWriter, externalGroup?: Partial<ExternalGroup> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalGroupCollectionResponse(writer: SerializationWriter, externalGroupCollectionResponse?: Partial<ExternalGroupCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalItem(writer: SerializationWriter, externalItem?: Partial<ExternalItem> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalItemCollectionResponse(writer: SerializationWriter, externalItemCollectionResponse?: Partial<ExternalItemCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeExternalItemContent(writer: SerializationWriter, externalItemContent?: Partial<ExternalItemContent> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIdentity(writer: SerializationWriter, identity?: Partial<Identity> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeIdentityCollectionResponse(writer: SerializationWriter, identityCollectionResponse?: Partial<IdentityCollectionResponse> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeItemIdResolver(writer: SerializationWriter, itemIdResolver?: Partial<ItemIdResolver> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeProperties(writer: SerializationWriter, properties?: Partial<Properties> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeProperty(writer: SerializationWriter, property?: Partial<Property> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializePropertyRule(writer: SerializationWriter, propertyRule?: Partial<PropertyRule> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeRankingHint(writer: SerializationWriter, rankingHint?: Partial<RankingHint> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSchema(writer: SerializationWriter, schema?: Partial<Schema> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeSearchSettings(writer: SerializationWriter, searchSettings?: Partial<SearchSettings> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUrlMatchInfo(writer: SerializationWriter, urlMatchInfo?: Partial<UrlMatchInfo> | undefined | null): void;
/**
 * Serializes information the current object
 * @param writer Serialization writer to use to serialize this model
 */
export declare function serializeUrlToItemResolverBase(writer: SerializationWriter, urlToItemResolverBase?: Partial<UrlToItemResolverBase> | undefined | null): void;
export interface UrlMatchInfo 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;
    /**
     * A list of the URL prefixes that must match URLs to be processed by this URL-to-item-resolver.
     */
    baseUrls?: string[] | null;
    /**
     * The OdataType property
     */
    odataType?: string | null;
    /**
     * A regular expression that will be matched towards the URL that is processed by this URL-to-item-resolver. The ECMAScript specification for regular expressions (ECMA-262) is used for the evaluation. The named groups defined by the regular expression will be used later to extract values from the URL.
     */
    urlPattern?: string | null;
}
export interface UrlToItemResolverBase 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;
    /**
     * The priority which defines the sequence in which the urlToItemResolverBase instances are evaluated.
     */
    priority?: number | null;
}
export declare const AccessTypeObject: {
    readonly Grant: "grant";
    readonly Deny: "deny";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const AclTypeObject: {
    readonly User: "user";
    readonly Group: "group";
    readonly Everyone: "everyone";
    readonly EveryoneExceptGuests: "everyoneExceptGuests";
    readonly ExternalGroup: "externalGroup";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ConnectionOperationStatusObject: {
    readonly Unspecified: "unspecified";
    readonly Inprogress: "inprogress";
    readonly Completed: "completed";
    readonly Failed: "failed";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ConnectionStateObject: {
    readonly Draft: "draft";
    readonly Ready: "ready";
    readonly Obsolete: "obsolete";
    readonly LimitExceeded: "limitExceeded";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ContentExperienceTypeObject: {
    readonly Search: "search";
    readonly Compliance: "compliance";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ExternalActivityTypeObject: {
    readonly Viewed: "viewed";
    readonly Modified: "modified";
    readonly Created: "created";
    readonly Commented: "commented";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ExternalItemContentTypeObject: {
    readonly Text: "text";
    readonly Html: "html";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const IdentitySourceTypeObject: {
    readonly AzureActiveDirectory: "azureActiveDirectory";
    readonly External: "external";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const IdentityTypeObject: {
    readonly User: "user";
    readonly Group: "group";
    readonly ExternalGroup: "externalGroup";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const ImportanceScoreObject: {
    readonly Low: "low";
    readonly Medium: "medium";
    readonly High: "high";
    readonly VeryHigh: "veryHigh";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const LabelObject: {
    readonly Title: "title";
    readonly Url: "url";
    readonly CreatedBy: "createdBy";
    readonly LastModifiedBy: "lastModifiedBy";
    readonly Authors: "authors";
    readonly CreatedDateTime: "createdDateTime";
    readonly LastModifiedDateTime: "lastModifiedDateTime";
    readonly FileName: "fileName";
    readonly FileExtension: "fileExtension";
    readonly UnknownFutureValue: "unknownFutureValue";
    readonly ContainerName: "containerName";
    readonly ContainerUrl: "containerUrl";
    readonly IconUrl: "iconUrl";
};
export declare const PropertyTypeObject: {
    readonly String: "string";
    readonly Int64: "int64";
    readonly Double: "double";
    readonly DateTime: "dateTime";
    readonly Boolean: "boolean";
    readonly StringCollection: "stringCollection";
    readonly Int64Collection: "int64Collection";
    readonly DoubleCollection: "doubleCollection";
    readonly DateTimeCollection: "dateTimeCollection";
    readonly UnknownFutureValue: "unknownFutureValue";
};
export declare const RuleOperationObject: {
    readonly NullEscaped: "null";
    readonly Equals: "equals";
    readonly NotEquals: "notEquals";
    readonly Contains: "contains";
    readonly NotContains: "notContains";
    readonly LessThan: "lessThan";
    readonly GreaterThan: "greaterThan";
    readonly StartsWith: "startsWith";
    readonly UnknownFutureValue: "unknownFutureValue";
};
//# sourceMappingURL=index.d.ts.map