import { Request, Response } from 'express';
import { AssetIdsResponseDto } from 'src/dtos/asset-ids.response.dto';
import { AssetIdsDto } from 'src/dtos/asset.dto';
import { AuthDto } from 'src/dtos/auth.dto';
import { SharedLinkCreateDto, SharedLinkEditDto, SharedLinkLoginDto, SharedLinkPasswordDto, SharedLinkResponseDto, SharedLinkSearchDto } from 'src/dtos/shared-link.dto';
import { LoggingRepository } from 'src/repositories/logging.repository';
import { LoginDetails } from 'src/services/auth.service';
import { SharedLinkService } from 'src/services/shared-link.service';
import { UUIDParamDto } from 'src/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, dto: SharedLinkPasswordDto, req: Request, res: Response, loginDetails: LoginDetails): 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[]>;
}
