import { DriveItem, Quota, SharePointIdentitySet, User } from '@ownclouders/web-client/graph/generated'; import { Ability, Resource } from '../resource'; export type SpaceMember = { grantedTo: SharePointIdentitySet; permissions: string[]; roleId: string; }; export declare enum SpaceDeletedState { Trashed = "trashed" } export interface SpaceResource extends Resource { description: string; disabled: boolean; driveAlias: string; driveType: 'mountpoint' | 'personal' | 'project' | 'share' | 'public' | (string & unknown); root: DriveItem; members: Record; spaceQuota: Quota; spaceImageData: DriveItem; spaceReadmeData: DriveItem; webDavTrashPath: string; canDisable(args?: { user?: User; ability?: Ability; }): boolean; canEditDescription(args?: { user?: User; ability?: Ability; }): boolean; canEditImage(args?: { user?: User; }): boolean; canEditReadme(args?: { user?: User; }): boolean; canRestore(args?: { user?: User; ability?: Ability; }): boolean; canDeleteFromTrashBin(args?: { user?: User; }): boolean; canRestoreFromTrashbin(args?: { user?: User; }): boolean; canListVersions(args?: { user?: User; }): boolean; getWebDavUrl({ path }: { path: string; }): string; getWebDavTrashUrl({ path }: { path: string; }): string; getDriveAliasAndItem(resource: Resource): string; isMember(user: User): boolean; isOwner(user: User): boolean; } export declare const isSpaceResource: (resource: Resource) => resource is SpaceResource; export interface PersonalSpaceResource extends SpaceResource { __personalSpaceResource?: any; } export declare const isPersonalSpaceResource: (resource: Resource) => resource is PersonalSpaceResource; export interface ProjectSpaceResource extends SpaceResource { __projectSpaceResource?: any; } export declare const isProjectSpaceResource: (resource: Resource) => resource is ProjectSpaceResource; export interface ShareSpaceResource extends SpaceResource { __shareSpaceResource?: any; rename(newName: string): void; } export declare const isShareSpaceResource: (resource: Resource) => resource is ShareSpaceResource; export interface MountPointSpaceResource extends SpaceResource { __mountPointSpaceResource?: any; } export declare const isMountPointSpaceResource: (resource: Resource) => resource is MountPointSpaceResource; export interface PublicSpaceResource extends SpaceResource { publicLinkPassword?: string; publicLinkItemType?: string; publicLinkPermission?: number; publicLinkExpiration?: string; publicLinkShareDate?: string; publicLinkShareOwner?: string; publicLinkShareOwnerDisplayName?: string; } export declare const isPublicSpaceResource: (resource: Resource) => resource is PublicSpaceResource;