import { Request, Response } from 'express';
import { MiraServer } from '../server';
export interface ApiResponse<T = any> {
    code: number;
    message: string;
    data: T | null;
}
export declare class BaseRouter {
    protected backend: MiraServer;
    constructor(backend: MiraServer);
    /**
     * 验证并获取Library对象
     */
    protected validateLibrary(libraryId: string): Promise<{
        success: boolean;
        library?: any;
        error?: ApiResponse;
    }>;
    /**
     * 发送成功响应
     */
    protected sendSuccess<T>(res: Response, data: T, message?: string): void;
    /**
     * 发送错误响应
     */
    protected sendError(res: Response, code: number, message: string, data?: any): void;
    /**
     * 通用的CRUD操作处理器
     */
    protected handleCrudOperation(req: Request, res: Response, operation: 'create' | 'update' | 'delete' | 'query' | 'getAll', serviceMethod: string, options?: {
        requiresId?: boolean;
        successMessage?: string;
        dataTransform?: (data: any) => any;
        responseTransform?: (data: any) => any;
        onSuccess?: (result: any, libraryId: string) => void;
    }): Promise<void>;
    /**
     * 处理文件关联操作（设置标签、文件夹等）
     */
    protected handleFileAssociation(req: Request, res: Response, operation: 'set' | 'get', serviceMethod: string, associationType: string, options?: {
        successMessage?: string;
        onSuccess?: (result: any, libraryId: string, fileId: string | number) => void;
    }): Promise<void>;
}
//# sourceMappingURL=BaseRouter.d.ts.map