/**
 * keepworkSDK.pages.ts — KeepworkSDK 页面与站点管理 mixin（TypeScript 版）
 *
 * 包含：
 * - 页面 CRUD（savePage / loadPage / deletePage / getRawPage / copyPage / pageExists）
 * - 页面服务端缓存操作（savePageCache / loadPageCache）
 * - 站点文件树（getSiteTree）
 * - 站点管理（createSite / getAllSites / getSitesByUsername / getSiteDetail）
 * - 路径编码工具（getRepoPath / encodeRepoPath / safeEncodeURIComponent）
 *
 * 依赖 keepworkSDK.core.ts 注入的 request / get / post / put / delete 方法。
 */
/** savePage 参数 */
export interface SavePageData {
    /** 格式 "username/sitename" */
    sitePath: string;
    /** 页面相对路径（含 .md 扩展名） */
    pagePath: string;
    /** 页面内容 */
    content: string;
    /** git commit 信息（默认自动生成） */
    commitMessage?: string;
    /** 内容编码方式（默认 'utf8'） */
    encoding?: 'utf8' | 'base64';
    /** 404 时自动建站（默认 false） */
    autoCreateSite?: boolean;
    /** 是否写入服务端缓存而非 git（默认 false） */
    useCache?: boolean;
}
/** savePage / loadPage 结果 */
export interface PageResult {
    success: boolean;
    path: string;
    sitePath: string;
    repoPath: string;
    content?: string;
    operation?: 'create' | 'update';
    message?: string;
    autoCreatedSite?: boolean;
    cached?: boolean;
    commitId?: string;
    fromServerCache?: boolean;
    metadata?: PageMetadata;
    error?: string;
    [key: string]: unknown;
}
/** 页面元数据（includeMetadata=true 时返回） */
export interface PageMetadata {
    commitId?: string;
    lastModified?: string;
    size?: number;
    encoding?: string;
    type?: string;
    downloadUrl?: string;
    htmlUrl?: string;
}
/** loadPage 参数 */
export interface LoadPageInfo {
    sitePath: string;
    pagePath: string;
    useCache?: boolean;
    commitId?: string;
    includeMetadata?: boolean;
    cdnState?: boolean;
    useServerCache?: boolean;
}
/** deletePage 参数 */
export interface DeletePageInfo {
    sitePath: string;
    pagePath: string;
    commitMessage?: string;
    /** 跳过存在性检查（默认 false） */
    force?: boolean;
    /** 是否验证文件存在（默认 true） */
    validateExists?: boolean;
    /** 同时清理服务端缓存（默认 false） */
    useCache?: boolean;
}
/** copyPage 参数 */
export interface CopyPageInfo {
    sourceSitePath: string;
    sourcePagePath: string;
    targetSitePath: string;
    targetPagePath: string;
    commitMessage?: string;
}
/** createSite 参数 */
export interface CreateSiteData {
    name: string;
    username: string;
    visibility?: 'public' | 'private' | 'protected' | number;
    sitename?: string;
    description?: string;
    [key: string]: unknown;
}
/**
 * 将页面/站点管理方法注入到 KeepworkSDK 类的 prototype。
 * 调用方式：`applyPagesMixin(KeepworkSDK)`
 */
export declare function applyPagesMixin(TargetClass: any): void;
//# sourceMappingURL=keepworkSDK.pages.d.ts.map