import { AuditService } from '../audit/audit.service';
import { PrismaService } from '../common/prisma/prisma.service';
export declare class LegalPagesService {
    private readonly prisma;
    private readonly audit;
    constructor(prisma: PrismaService, audit: AuditService);
    list(): import(".prisma/client").Prisma.PrismaPromise<({
        versions: {
            status: string;
            version: number;
            id: string;
            createdAt: Date;
            publishedAt: Date | null;
            createdByAdminId: string | null;
            title: string;
            contentHtml: string;
            contentText: string | null;
            seoTitle: string | null;
            seoDescription: string | null;
            effectiveAt: Date | null;
            documentId: string;
        }[];
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        key: string;
        slug: string;
        title: string;
    })[]>;
    getBySlug(slug: string): Promise<{
        document: {
            versions: {
                status: string;
                version: number;
                id: string;
                createdAt: Date;
                publishedAt: Date | null;
                createdByAdminId: string | null;
                title: string;
                contentHtml: string;
                contentText: string | null;
                seoTitle: string | null;
                seoDescription: string | null;
                effectiveAt: Date | null;
                documentId: string;
            }[];
        } & {
            id: string;
            createdAt: Date;
            updatedAt: Date;
            key: string;
            slug: string;
            title: string;
        };
        version: {
            status: string;
            version: number;
            id: string;
            createdAt: Date;
            publishedAt: Date | null;
            createdByAdminId: string | null;
            title: string;
            contentHtml: string;
            contentText: string | null;
            seoTitle: string | null;
            seoDescription: string | null;
            effectiveAt: Date | null;
            documentId: string;
        };
    }>;
    get(key: string): Promise<{
        versions: {
            status: string;
            version: number;
            id: string;
            createdAt: Date;
            publishedAt: Date | null;
            createdByAdminId: string | null;
            title: string;
            contentHtml: string;
            contentText: string | null;
            seoTitle: string | null;
            seoDescription: string | null;
            effectiveAt: Date | null;
            documentId: string;
        }[];
    } & {
        id: string;
        createdAt: Date;
        updatedAt: Date;
        key: string;
        slug: string;
        title: string;
    }>;
    saveDraft(key: string, input: {
        title: string;
        contentHtml: string;
        contentText?: string;
        seoTitle?: string;
        seoDescription?: string;
    }, adminId: string): Promise<{
        status: string;
        version: number;
        id: string;
        createdAt: Date;
        publishedAt: Date | null;
        createdByAdminId: string | null;
        title: string;
        contentHtml: string;
        contentText: string | null;
        seoTitle: string | null;
        seoDescription: string | null;
        effectiveAt: Date | null;
        documentId: string;
    }>;
    publish(key: string, version: number, adminId: string, confirmDangerous?: boolean): Promise<{
        status: string;
        version: number;
        id: string;
        createdAt: Date;
        publishedAt: Date | null;
        createdByAdminId: string | null;
        title: string;
        contentHtml: string;
        contentText: string | null;
        seoTitle: string | null;
        seoDescription: string | null;
        effectiveAt: Date | null;
        documentId: string;
    }>;
    accept(userId: string, documentKey: string, ip?: string, userAgent?: string): Promise<{
        id: string;
        ipAddress: string | null;
        userId: string;
        userAgent: string | null;
        documentId: string;
        versionId: string;
        acceptedAt: Date;
    }>;
}
