import { NodePaging, SharedLinkBodyCreate, SharedLinkEntry, SharedlinksApi } from '@alfresco/js-api';
import { Observable, Subject } from 'rxjs';
import { UserPreferencesService } from '@alfresco/adf-core';
import { AlfrescoApiService } from '../../services/alfresco-api.service';
import * as i0 from "@angular/core";
export declare class SharedLinksApiService {
    private apiService;
    private preferences;
    error: Subject<{
        statusCode: number;
        message: string;
    }>;
    private _sharedLinksApi;
    get sharedLinksApi(): SharedlinksApi;
    constructor(apiService: AlfrescoApiService, preferences: UserPreferencesService);
    /**
     * Gets shared links available to the current user.
     *
     * @param options Options supported by JS-API
     * @returns List of shared links
     */
    getSharedLinks(options?: any): Observable<NodePaging>;
    /**
     * Creates a shared link available to the current user.
     *
     * @param nodeId ID of the node to link to
     * @param sharedLinkWithExpirySettings shared link with nodeId and expiryDate
     * @param options Options supported by JS-API
     * @returns The shared link just created
     */
    createSharedLinks(nodeId: string, sharedLinkWithExpirySettings?: SharedLinkBodyCreate, options?: any): Observable<SharedLinkEntry>;
    /**
     * Deletes a shared link.
     *
     * @param sharedId ID of the link to delete
     * @returns Null response notifying when the operation is complete
     */
    deleteSharedLink(sharedId: string): Observable<any | Error>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SharedLinksApiService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SharedLinksApiService>;
}
