import type { API } from '../../api';
export interface ItemData {
    id: string;
    permissions: {
        can_set_share_access: boolean;
        can_share: boolean;
    };
}
export interface Options extends ItemData {
    access?: string;
    isDownloadAvailable?: boolean;
    serverUrl?: string;
}
export interface CreateSharingServiceArgs {
    hasSharedLink: boolean;
    itemApiInstance: API;
    onUpdateSharedLink: (itemData: ItemData) => void;
    onRemoveSharedLink: (itemData: ItemData) => void;
    options: Options;
}
export declare const createSharingService: ({ hasSharedLink, itemApiInstance, onUpdateSharedLink, onRemoveSharedLink, options, }: CreateSharingServiceArgs) => {
    createSharedLink: () => Promise<unknown>;
    changeSharedLinkAccess: (access: string) => Promise<void>;
    changeSharedLinkPermission: (permissionLevel: string) => Promise<void>;
    deleteSharedLink: () => Promise<unknown>;
    updateSharedLink: (sharedLinkSettings: SharedLinkSettings) => Promise<unknown>;
};
