import { RollTemplateRepository } from '../ports/secondary/roll-template-repository.js';
/**
 * Use case for updating an existing roll template.
 */
export declare class UpdateTemplateUseCase {
    private readonly templateRepository;
    /**
     * Creates a new UpdateTemplateUseCase instance.
     * @param templateRepository The repository to use for template updates.
     */
    constructor(templateRepository: RollTemplateRepository);
    /**
     * Executes the use case.
     * @param id The ID of the template to update.
     * @param updates Object containing the updates to apply.
     * @throws Error if the template does not exist.
     */
    execute(id: string, updates: {
        name?: string;
        description?: string;
        template?: string;
    }): Promise<void>;
}
