import { IUseCase } from '../../interfaces/IUseCase.js';
import { DocumentDTO } from '../../dtos/DocumentDTO.js';
import { ReadDocumentUseCase } from '../common/ReadDocumentUseCase.js';
/**
 * Input data for read branch document use case
 */
export interface ReadBranchDocumentInput {
    /**
     * Branch name (optional, will be detected if not provided)
     */
    branchName?: string;
    /**
     * Document path
     */
    path: string;
}
/**
 * Output data for read branch document use case
 */
export interface ReadBranchDocumentOutput {
    /**
     * Document data
     */
    document: DocumentDTO;
}
/**
 * Use case for reading a document from branch memory bank
 */
export declare class ReadBranchDocumentUseCase implements IUseCase<ReadBranchDocumentInput, ReadBranchDocumentOutput> {
    private readonly readDocumentUseCase;
    private readonly useCaseLogger;
    /**
     * Constructor
     * @param readDocumentUseCase Unified document read use case
     */
    constructor(readDocumentUseCase: ReadDocumentUseCase);
    /**
     * Execute the use case
     * @param input Input data
     * @returns Promise resolving to output data
     */
    execute(input: ReadBranchDocumentInput): Promise<ReadBranchDocumentOutput>;
}
//# sourceMappingURL=ReadBranchDocumentUseCase.d.ts.map