import { Component, Request } from '@pjblog/http'; import { ArticleDBO } from '../dbos/article'; import { TMarkdownHeadingProps } from '../types'; import { Markdown } from '@pjblog/markdown'; import type { EntityManager } from 'typeorm'; export interface IArticleDetailControllerResponse { id: number; code: string; title: string; ctime: string | Date; mtime: string | Date; original: boolean; readCount: number; md5: string; from: string; html: string; headings: TMarkdownHeadingProps[]; category?: { id: number; name: string; }; tags: { id: number; name: string; }[]; user: { id: number; account: string; nickname: string; avatar: string; level: number; }; prev?: { id: number; code: string; title: string; ctime: string | Date; reads: number; }; next?: { id: number; code: string; title: string; ctime: string | Date; reads: number; }; } export declare class ArticleDetailController extends Component { readonly manager: EntityManager; readonly service: ArticleDBO; readonly category: CategoryDBO; readonly tag: TagDBO; readonly user: UserDBO; readonly configs: Configs; readonly markdown: Markdown; constructor(req: Request); checkExists(): Promise; getCategory(): Promise; getTag(): Promise; getUser(): Promise; render(): Promise; prefix(): Promise; suffix(): Promise; format(): void; createHash(): string[]; increase(): void; } import { CategoryDBO } from '../../category/dbos/category'; import { TagDBO } from '../../tags/dbos/tags'; import { UserDBO } from '../../user/dbos/user'; import { Configs } from '../../configs/service';