import { Observable } from 'rxjs';
import { TodoRepository } from '../../domain/repository/todo.repository';
import { TodoVM } from '../viewmodel/todos.viewmodel';
import { TodoPresenter } from './todo.presenter';
export declare class TodoDefaultPresenter implements TodoPresenter {
    private repository;
    todos$: Observable<TodoVM[]>;
    activeTodosCount$: Observable<number>;
    filter$: Observable<string>;
    private state;
    private dispatch;
    private mapper;
    private filterTodosUC;
    private getAllTodosUC;
    private getCompletedTodosUC;
    private getActiveTodosUC;
    private getActiveTodosCountUC;
    private addTodoUC;
    private markTodoAsCompletedUC;
    private markTodoAsActiveUC;
    private removeTodoUC;
    private removeCompletedTodosUC;
    private markAllTodosAsCompletedUC;
    private markAllTodosAsActiveUC;
    constructor(repository: TodoRepository);
    getAllTodos(): void;
    getCompletedTodos(): void;
    getActiveTodos(): void;
    addTodo(name: string): void;
    markTodoAsCompleted(id: string): void;
    markTodoAsActive(id: string): void;
    markAllTodosAsCompleted(): void;
    markAllTodosAsActive(): void;
    removeTodo(id: string): void;
    removeCompletedTodos(): void;
    private updateTodos;
}
