import { Page } from './page';
import { Publisher } from './publisher';
import { URL } from './url';
import { Ref } from './ref';
import { Language } from './language';
import { Navigation } from './navigation';
import { Page as ContentPage } from '../../content/type';
import { Author, Compiler, ConfigService, ContentService, FsService, LanguageService, SitemapService, Template, TranslationService } from '../type';
import { TaxonomyList } from "../../../domain/site/entity/taxonomies-builder";
import { Menus } from "../../../domain/site/valueobject/menu";
/**
 * Site - TypeScript equivalent of Go's Site entity
 * Main site management class
 */
export declare class Site {
    private configSvc;
    private contentSvc;
    private translationSvc;
    private languageSvc;
    private sitemap;
    private staticCopySvc;
    private publisher;
    private template;
    private author;
    private compiler;
    private url;
    private ref;
    private language;
    private navigation;
    private title;
    private home;
    get Title(): string;
    Pages(): Promise<Page[]>;
    get RegularPages(): Page[];
    constructor(configSvc: ConfigService, contentSvc: ContentService, translationSvc: TranslationService, languageSvc: LanguageService, sitemap: SitemapService, staticCopySvc: FsService, publisher: Publisher, author: Author, compiler: Compiler, url: URL, ref: Ref, language: Language, navigation: Navigation, title: string);
    /**
     * Build site
     * TypeScript equivalent of Build method from Go
     */
    build(template: Template): Promise<void>;
    /**
     * Build site with progress callbacks
     * TypeScript equivalent of Build method from Go with progress tracking
     */
    buildWithProgress(template: Template, onProgress?: (progress: {
        currentPage: number;
        totalPages: number;
    }) => void): Promise<void>;
    /**
     * Setup site before rendering
     * TypeScript equivalent of setup method from Go
     */
    private setup;
    /**
     * Render all pages
     * TypeScript equivalent of render method from Go
     */
    render(): Promise<void>;
    /**
     * Render all pages with progress tracking
     * TypeScript equivalent of render method from Go with progress callbacks
     */
    private renderWithProgress;
    /**
     * Render pages for current language
     * TypeScript equivalent of renderPages method from Go
     * 支持增量构建：根据环境变量判断是否只渲染 stale 页面
     */
    private renderPages;
    /**
     * Render pages for current language with progress tracking
     * TypeScript equivalent of renderPages method from Go with progress callbacks
     */
    private renderPagesWithProgress;
    /**
     * Get page output (simplified implementation)
     * TypeScript equivalent of pageOutput method from Go
     */
    private pageOutput;
    /**
     * Clear site cache (simplified implementation)
     */
    private clearSiteCache;
    get Home(): Page | null;
    get Params(): Record<string, any>;
    get Taxonomies(): TaxonomyList;
    get Menus(): Menus;
    getTitle(): string;
    setTitle(title: string): void;
    /**
     * Get configuration service
     */
    getConfigService(): ConfigService;
    /**
     * Get content service
     */
    getContentService(): ContentService;
    /**
     * Get language service
     */
    getLanguageService(): LanguageService;
    /**
     * Get base URL
     * Provides the base URL service without exposing internal URL object
     */
    baseURL(): string;
    /**
     * Get URL handler
     */
    getURL(): URL;
    /**
     * Get reference handler
     */
    getRef(): Ref;
    /**
     * Get language handler
     */
    getLanguage(): Language;
    get Language(): Language;
    /**
     * Get navigation handler
     */
    getNavigation(): Navigation;
    /**
     * Get publisher
     */
    getPublisher(): Publisher;
    /**
     * Get template
     */
    getTemplate(): Template | null;
    /**
     * Get author info
     */
    getAuthor(): Author;
    /**
     * Get compiler info
     */
    getCompiler(): Compiler;
    /**
     * Get sitemap service
     */
    getSitemap(): SitemapService;
    /**
     * Check if site is multi-language
     */
    isMultipleLanguage(): boolean;
    /**
     * Get current language
     */
    getCurrentLanguage(): string;
    /**
     * Get language prefix for URLs
     */
    languagePrefix(): string;
    /**
     * Site page factory method - convert content page to site page
     */
    sitePage(target: ContentPage): Promise<Page>;
    /**
     * Convert array of content pages to array of site pages
     * TypeScript equivalent of Go's sitePages method
     */
    private sitePages;
    /**
     * Create site page from content page (synchronous version)
     * TypeScript equivalent of Go's site page creation
     */
    sitePageSync(contentPage: ContentPage): Page;
    /**
     * Pre-generate menus for all languages
     * This ensures menus are cached before page rendering begins
     */
    private generateNavigations;
    /**
     * Get page by path
     * TypeScript equivalent of Go's GetPage method
     * Made synchronous to match template function requirements
     */
    GetPage(...ref: string[]): Page | null;
    /**
     * Copy static files to publish directory
     * This is a core business capability of the Site entity
     */
    copyStaticFiles(): Promise<void>;
    /**
     * Create site weighted page from ordinal weight page
     * TypeScript equivalent of Go's siteWeightedPage method
     */
    siteWeightedPage(ordinalWeightPage: any): Promise<any>;
}
//# sourceMappingURL=site.d.ts.map