import type { AuthenticatedUser } from '../../common/auth/authenticated-user';
import { CreateWatchlistDto, UpdateWatchlistDto } from './dto/watchlist.dto';
import { WatchlistsRepository } from './watchlists.repository';
export declare class WatchlistsController {
    private readonly watchlists;
    constructor(watchlists: WatchlistsRepository);
    list(user: AuthenticatedUser): Promise<{
        items: {
            id: string;
            coinId: string;
            symbol: string;
            position: number;
        }[];
        id: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        ownerId: string;
        version: number;
    }[]>;
    create(user: AuthenticatedUser, input: CreateWatchlistDto): Promise<{
        items: {
            id: string;
            coinId: string;
            symbol: string;
            position: number;
        }[];
        id: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        ownerId: string;
        version: number;
    }>;
    update(user: AuthenticatedUser, watchlistId: string, input: UpdateWatchlistDto): Promise<{
        items: {
            id: string;
            coinId: string;
            symbol: string;
            position: number;
        }[];
        id: string;
        name: string;
        createdAt: Date;
        updatedAt: Date;
        ownerId: string;
        version: number;
    }>;
    delete(user: AuthenticatedUser, watchlistId: string): Promise<void>;
}
