import { DriveItem, Quota, User } from '@opencloud-eu/web-client/graph/generated'; import { Ability, Resource } from '../resource'; import { PublicLinkType } from './functions'; export declare const SHARE_JAIL_ID = "a0ca6a90-a365-4782-871e-d44447bbc668"; export declare const OCM_PROVIDER_ID = "89f37a33-858b-45fa-8890-a1f2b27d90e1"; export interface SpaceResource extends Resource { description: string; disabled: boolean; driveAlias: string; driveType: 'mountpoint' | 'personal' | 'project' | 'share' | 'public' | (string & unknown); root: DriveItem; spaceQuota: Quota; spaceImageData: DriveItem; spaceReadmeData: DriveItem; hasTrashedItems: boolean; webDavTrashPath: string; /** * Value of the drive's `@libre.graph.contentType` property. Web apps can use this to * determine how to handle the space (e.g. `application/vnd.opencloud.vault` for an * end-to-end encrypted space). */ contentType?: string; graphPermissions?: 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; getWebDavUrl({ path }: { path: string; }): string; getWebDavTrashUrl({ path }: { path: string; }): string; getDriveAliasAndItem(resource: Resource): string; 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; publicLinkType?: PublicLinkType; } export declare const isPublicSpaceResource: (resource: Resource) => resource is PublicSpaceResource;