import { Shared } from "./IShared"; import { SharePoint } from "./ISharePoint"; import { Enums } from '../extensibility'; export declare module Sites { interface IBaseSiteTemplate { id?: string; title?: string; description?: string; } interface ISiteTemplate { id?: string; title?: string; description?: string; createAsSiteCollection?: boolean; lcid?: number; storageMaximumLevel?: number; location?: string; icon?: ISiteTemplateIcon; image?: string; defaultTimeZone?: string; useCurrentSiteLocation?: boolean; baseTemplate?: string; permissionLevel?: number; userCanChangeLanguage?: boolean; uniquePermission?: boolean; siteCollectionFeatures?: Array; siteFeatures?: Array; isUserCreatedTemplate?: boolean; userDefinedProperties?: ISiteTemplateUserDefinedProperties; customFields?: Array; createdBy?: string; userCanChangePrivacy?: boolean; privacy?: Enums.PrivacyType; createAsOfficeGroup?: boolean; allowAdministrationOfSPGroups?: boolean; } interface IValidateSiteTemplateInfo { isExistSiteTemplate: boolean; isActivatedSiteDynamicProperties: boolean; isHaveProperties: boolean; } interface IMigrateSiteInfo { status: Enums.MigrateSitesStatus; startedDate?: string; sitesAlreadyMigrate: Array; sitesNeedMigration: Array; } interface ISiteTemplateUserDefinedProperties { approvers?: Array; displayTo?: Array; defaultAdministrator?: Array; defaultVisitors?: Array; templateGroup?: string; migrationInfo?: IMigrateSiteInfo; } interface ISiteTemplateIcon { iconType: Enums.SiteTemplateIconType; fontValue?: string; customValue?: string; } interface ISiteCreationValidation { siteTemplate?: ISiteTemplate; isFeatureDependencyValid: boolean; isUserPermissionValid: boolean; } interface ISiteTemplateCustomField { id?: string; displayName?: string; internalName?: string; fieldType?: Enums.CustomFieldTypes; isRequired?: boolean; isMultiple?: boolean; isFilterable?: boolean; isViewable?: boolean; termStoreId?: string; termGroupId?: string; termGroupName?: string; termSetId?: string; termSetName?: string; value?: any; fieldValidation?: ISiteTemplateCustomFieldValidation; } interface ISiteTemplateCustomFieldValidation { duplicatedDisplayName?: boolean; duplicatedInternalName?: boolean; } interface ISiteRequest { id?: string; siteTemplateId?: string; title?: string; description?: string; location?: string; url?: string; keywords?: Array; lcid?: number; timeZone?: string; approvers?: string; owners?: Array; members?: Array; readers?: Array; status?: Enums.SiteRequestStatus; requestType?: Enums.SiteRequestType; createdBy?: string; createdAt?: Date; processedBy?: string; processedAt?: Date; comment?: string; createdByUser?: SharePoint.IUser; urlValidateResult?: ISiteRequestUrlValidateResult; yammerGroupValidateResult?: ISiteRequestYammerGroupValidateResult; transactionId?: string; customFields?: Array; privacy?: Enums.PrivacyType; sendInvitationEmail?: boolean; isPublic?: boolean; allowAdministrationOfSPGroups?: boolean; } interface ISiteRequestResult { siteRequestId: string; transactionId: string; } interface ISiteRequestUrlValidateResult { urlValidated?: boolean; invalidUrl?: boolean; existedWeb?: Shared.IPortalWeb; validateUrlInProcess?: boolean; validateUrlTimeout?: any; } interface ISiteRequestYammerGroupValidateResult { groupValidated?: boolean; groupIsExisted?: boolean; validateGroupInProcess?: boolean; validateGroupTimeout?: any; } interface ISiteProvisioningResult { isSiteCreated: boolean; welcomePageUrl: string; } interface IOfficeGroupRequest { displayName?: string; alias?: string; isPublic?: boolean; optionalParams?: IOptionalParams; } interface IOptionalParams { Description?: string; Classification: string; CreationOptions: { results: Array; }; } interface IOfficeGroupResponse { documentsUrl?: any; errorMessage?: any; groupId?: string; siteStatus?: number; siteUrl?: string; } }