import type { ContextRequest, ContextResult, RulesResult } from "../../application/usecases/types.js";
import { ReadContextUseCase } from "../../application/usecases/common/ReadContextUseCase.js";
import { ReadRulesUseCase } from "../../application/usecases/common/ReadRulesUseCase.js";
import type { IContextController } from "./interfaces/IContextController.js";
/**
 * Context Controller
 * Controller for retrieving rules and context information
 */
export declare class ContextController implements IContextController {
    private readonly readContextUseCase;
    private readonly readRulesUseCase;
    readonly _type: "controller";
    /**
     * Constructor
     * @param readContextUseCase Use case for reading context
     * @param readRulesUseCase Use case for reading rules
     */
    constructor(readContextUseCase: ReadContextUseCase, readRulesUseCase: ReadRulesUseCase);
    /**
     * Read rules for the specified language
     * @param language Language code ('en', 'ja', 'zh')
     * @returns Rules reading result
     */
    readRules(language: string): Promise<{
        success: boolean;
        data?: RulesResult;
        error?: string;
    }>;
    /**
     * Read context information
     * @param request Context request
     * @returns Context reading result
     */
    readContext(request: ContextRequest): Promise<{
        success: boolean;
        data?: ContextResult;
        error?: string;
    }>;
    /**
     * Error handling
     * @param error Error object
     * @returns Response containing error information
     */
    private handleError;
}
//# sourceMappingURL=ContextController.d.ts.map