import { ConfigService } from '@nestjs/config';
import { CatalogService } from '../catalogo/catalog.service';
import { PrismaService } from '../database/prisma.service';
import { CreateJourneyDto } from './dto/create-journey.dto';
export declare class JourneysService {
    private readonly prisma;
    private readonly config;
    private readonly catalog;
    constructor(prisma: PrismaService, config: ConfigService, catalog: CatalogService);
    create(dto: CreateJourneyDto): Promise<{
        token: string;
        journey: any;
    }>;
    get(publicId: string, sessionJourneyId: string): Promise<{
        publicId: any;
        status: any;
        currentStep: any;
        theme: {
            id: string;
            name: string;
        };
        customTheme: any;
        circumstanceText: any;
        sets: any;
    }>;
    getCurrent(sessionJourneyId: string): Promise<{
        publicId: any;
        status: any;
        currentStep: any;
        theme: {
            id: string;
            name: string;
        };
        customTheme: any;
        circumstanceText: any;
        sets: any;
    }>;
    cancel(publicId: string, sessionJourneyId: string): Promise<any>;
    drawWord(publicId: string, sessionJourneyId: string, position: number): Promise<any>;
    drawImage(publicId: string, sessionJourneyId: string, position: number): Promise<any>;
    saveImpression(publicId: string, sessionJourneyId: string, position: number, text: string): Promise<{
        saved: boolean;
    }>;
    getRevealedImage(publicId: string, sessionJourneyId: string, position: number): Promise<{
        content: Buffer;
        contentType: string;
    }>;
    advance(publicId: string, sessionJourneyId: string): Promise<any>;
    private validatePosition;
    private assertDrawingStep;
    private wordResponse;
    private imageResponse;
    private publicImage;
    private requireWord;
    private requireImage;
    private resolveTheme;
    private assertCatalogVersion;
    private setSelection;
    private authorized;
    private authorizedTx;
    private readProgress;
    private withConcurrencyRetry;
}
