import { IHttpClient } from "./IHttpClient";
import { Endpoint } from "./Endpoint";
import { ISharedLinkPermissions } from "./ISharedLink";
/**
 * Provides properties and methods for obtaining information about a file shared link.
 */
export declare class SharedLink extends Endpoint {
    private _data;
    /**
     * @param data - Raw shared link data received from the server. For more information, see
     *   {@link https://cloud.opendesign.com/docs//pages/server/api.html#ShareLinks | Open Cloud SharedLinks API}.
     * @param httpClient - HTTP client instance used to send requests to the REST API server.
     */
    constructor(data: any, httpClient: IHttpClient);
    /**
     * Shared link creation time (UTC) in the format specified in
     * {@link https://www.wikipedia.org/wiki/ISO_8601 | ISO 8601}.
     *
     * @readonly
     */
    get createdAt(): string;
    /**
     * Raw shared link data received from the server. For more information, see
     * {@link https://cloud.opendesign.com/docs//pages/server/api.html#ShareLinks | Open Cloud SharedLinks API}.
     *
     * @readonly
     */
    get data(): any;
    private set data(value);
    /**
     * Share permissions.
     */
    get permissions(): ISharedLinkPermissions;
    set permissions(value: ISharedLinkPermissions);
    /**
     * Unique shared link token.
     *
     * @readonly
     */
    get token(): string;
    /**
     * URL to open shared file in the viewer.
     *
     * @readonly
     */
    get url(): string;
    /**
     * Reloads shared link data from the server.
     */
    checkout(): Promise<this>;
    /**
     * Updates shared link data on the server.
     *
     * @param data - Raw shared link data. For more information, see
     *   {@link https://cloud.opendesign.com/docs//pages/server/api.html#ShareLinks | Open Cloud SharedLinks API}.
     */
    update(data: any): Promise<this>;
    /**
     * Deletes a shared link from the server.
     *
     * @returns Returns the raw data of a deleted shared link. For more information, see
     *   {@link https://cloud.opendesign.com/docs//pages/server/api.html#SharedLinks | Open Cloud SharedLinks API}.
     */
    delete(): Promise<any>;
    /**
     * Saves shared link properties changes to the server. Call this method to update shared link data on
     * the server after any property changes.
     */
    save(): Promise<this>;
}
