import { AiService } from '../common/ai/ai.service';
import { PrismaService } from '../common/prisma/prisma.service';
import { StorageService } from '../common/storage/storage.service';
export declare class ResumeService {
    private readonly prisma;
    private readonly ai;
    private readonly storage;
    constructor(prisma: PrismaService, ai: AiService, storage: StorageService);
    list(userId: string): Promise<{
        items: {
            id: string;
            title: string;
            updatedAt: Date;
            latestVersion: number;
            sourceFile: {
                id: string;
                originalName: string | null;
                mimeType: string;
                sizeBytes: number;
            } | null;
        }[];
    }>;
    get(userId: string, id: string): Promise<{
        id: string;
        title: string;
        sourceFile: {
            id: string;
            originalName: string | null;
            mimeType: string;
            sizeBytes: number;
        } | null;
        version: {
            id: string;
            version: number;
            label: string;
            sections: {
                id: string;
                kind: string;
                heading: string;
                body: string;
            }[];
        } | null;
    }>;
    createAuthored(userId: string, title: string, sections: {
        kind: string;
        heading: string;
        body: string;
    }[]): Promise<{
        id: string;
        title: string;
        sourceFile: {
            id: string;
            originalName: string | null;
            mimeType: string;
            sizeBytes: number;
        } | null;
        version: {
            id: string;
            version: number;
            label: string;
            sections: {
                id: string;
                kind: string;
                heading: string;
                body: string;
            }[];
        } | null;
    }>;
    createFromUpload(userId: string, file: {
        buffer: Buffer;
        originalname?: string;
        mimetype?: string;
        size: number;
    }): Promise<{
        id: string;
        title: string;
        sourceFile: {
            id: string;
            originalName: string | null;
            mimeType: string;
            sizeBytes: number;
        } | null;
        version: {
            id: string;
            version: number;
            label: string;
            sections: {
                id: string;
                kind: string;
                heading: string;
                body: string;
            }[];
        } | null;
    }>;
    createFromProfile(userId: string): Promise<{
        id: string;
        title: string;
        sourceFile: {
            id: string;
            originalName: string | null;
            mimeType: string;
            sizeBytes: number;
        } | null;
        version: {
            id: string;
            version: number;
            label: string;
            sections: {
                id: string;
                kind: string;
                heading: string;
                body: string;
            }[];
        } | null;
    }>;
    tailorForJob(userId: string, jobId: string, resumeId?: string): Promise<{
        id: string;
        title: string;
        sourceFile: {
            id: string;
            originalName: string | null;
            mimeType: string;
            sizeBytes: number;
        } | null;
        version: {
            id: string;
            version: number;
            label: string;
            sections: {
                id: string;
                kind: string;
                heading: string;
                body: string;
            }[];
        } | null;
    }>;
    owned(userId: string, id: string): Promise<{
        versions: ({
            sections: {
                id: string;
                kind: string;
                body: string;
                sortOrder: number;
                versionId: string;
                heading: string;
            }[];
        } & {
            version: number;
            id: string;
            createdAt: Date;
            label: string;
            resumeId: string;
        })[];
        sourceFile: {
            id: string;
            mimeType: string;
            originalName: string | null;
            sizeBytes: number;
        } | null;
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        userId: string;
        title: string;
        sourceFileId: string | null;
    }>;
    private textOf;
}
