import { D2ApiGeneric } from "./d2Api"; import { D2ApiResponse } from "./common"; import { PartialBy } from "../utils/types"; export declare class Sharing { d2Api: D2ApiGeneric; constructor(d2Api: D2ApiGeneric); search(options: SearchOptions): D2ApiResponse; get(params: SharingParams): D2ApiResponse; post(params: SharingParams, object: SharingObjectUpdate): D2ApiResponse; } export declare type SearchOptions = { key: string; pageSize?: number; }; export declare type SharingParams = { type: string; id: string; }; export interface SharingGetResponse { meta: { allowPublicAccess: boolean; allowExternalAccess: boolean; }; object: { id: string; name: string; displayName: string; publicAccess: string; externalAccess: boolean; userAccesses?: SharingSetting[]; userGroupAccesses?: SharingSetting[]; user: { id: string; name: string; }; }; } export interface SharingObjectUpdate { publicAccess?: string; externalAccess?: boolean; userAccesses?: PartialBy[]; userGroupAccesses?: PartialBy[]; } interface SharingSetting { id: string; access: string; displayName: string; name: string; } export interface SearchResponse { users: Array<{ id: string; displayName: string; name: string; }>; userGroups: Array<{ id: string; displayName: string; name: string; }>; } export {};