import { AddUsersDto, AlbumResponseDto, AlbumsAddAssetsDto, AlbumsAddAssetsResponseDto, AlbumStatisticsResponseDto, CreateAlbumDto, GetAlbumsDto, UpdateAlbumDto, UpdateAlbumUserDto } from "../dtos/album.dto";
import { BulkIdResponseDto, BulkIdsDto } from "../dtos/asset-ids.response.dto";
import { AuthDto } from "../dtos/auth.dto";
import { MapMarkerResponseDto } from "../dtos/map.dto";
import { BaseService } from "./base.service";
export declare class AlbumService extends BaseService {
    getStatistics(auth: AuthDto): Promise<AlbumStatisticsResponseDto>;
    getAll({ user: { id: ownerId } }: AuthDto, { assetId, ...rest }: GetAlbumsDto): Promise<AlbumResponseDto[]>;
    get(auth: AuthDto, id: string): Promise<AlbumResponseDto>;
    getMapMarkers(auth: AuthDto, id: string): Promise<MapMarkerResponseDto[]>;
    create(auth: AuthDto, dto: CreateAlbumDto): Promise<AlbumResponseDto>;
    update(auth: AuthDto, id: string, dto: UpdateAlbumDto): Promise<AlbumResponseDto>;
    delete(auth: AuthDto, id: string): Promise<void>;
    addAssets(auth: AuthDto, id: string, dto: BulkIdsDto): Promise<BulkIdResponseDto[]>;
    addAssetsToAlbums(auth: AuthDto, dto: AlbumsAddAssetsDto): Promise<AlbumsAddAssetsResponseDto>;
    removeAssets(auth: AuthDto, id: string, dto: BulkIdsDto): Promise<BulkIdResponseDto[]>;
    addUsers(auth: AuthDto, id: string, { albumUsers }: AddUsersDto): Promise<AlbumResponseDto>;
    removeUser(auth: AuthDto, id: string, userId: string | 'me'): Promise<void>;
    updateUser(auth: AuthDto, id: string, userId: string, dto: UpdateAlbumUserDto): Promise<void>;
    private findOrFail;
}
