import { Request, Response } from 'express';
import { AssetIdsResponseDto } from "../dtos/asset-ids.response.dto";
import { AssetIdsDto } from "../dtos/asset.dto";
import { AuthDto } from "../dtos/auth.dto";
import { SharedLinkCreateDto, SharedLinkEditDto, SharedLinkLoginDto, SharedLinkResponseDto, SharedLinkSearchDto } from "../dtos/shared-link.dto";
import { LoggingRepository } from "../repositories/logging.repository";
import { LoginDetails } from "../services/auth.service";
import { SharedLinkService } from "../services/shared-link.service";
import { UUIDParamDto } from "../validation";
export declare class SharedLinkController {
    private service;
    private logger;
    constructor(service: SharedLinkService, logger: LoggingRepository);
    getAllSharedLinks(auth: AuthDto, dto: SharedLinkSearchDto): Promise<SharedLinkResponseDto[]>;
    sharedLinkLogin(auth: AuthDto, dto: SharedLinkLoginDto, req: Request, res: Response, loginDetails: LoginDetails): Promise<SharedLinkResponseDto>;
    getMySharedLink(auth: AuthDto, req: Request): Promise<SharedLinkResponseDto>;
    getSharedLinkById(auth: AuthDto, { id }: UUIDParamDto): Promise<SharedLinkResponseDto>;
    createSharedLink(auth: AuthDto, dto: SharedLinkCreateDto): Promise<SharedLinkResponseDto>;
    updateSharedLink(auth: AuthDto, { id }: UUIDParamDto, dto: SharedLinkEditDto): Promise<SharedLinkResponseDto>;
    removeSharedLink(auth: AuthDto, { id }: UUIDParamDto): Promise<void>;
    addSharedLinkAssets(auth: AuthDto, { id }: UUIDParamDto, dto: AssetIdsDto): Promise<AssetIdsResponseDto[]>;
    removeSharedLinkAssets(auth: AuthDto, { id }: UUIDParamDto, dto: AssetIdsDto): Promise<AssetIdsResponseDto[]>;
}
