import { Observable } from 'rxjs';
import { TodoEntity } from '../entity/todo.entity';
export declare abstract class TodoRepository {
    abstract getAllTodos(): Observable<TodoEntity[]>;
    abstract getCompletedTodos(): Observable<TodoEntity[]>;
    abstract getActiveTodos(): Observable<TodoEntity[]>;
    abstract getActiveTodosCount(): Observable<number>;
    abstract addTodo(name: string): Observable<TodoEntity>;
    abstract removeTodo(id: string): Observable<TodoEntity>;
    abstract removeCompletedTodos(): Observable<TodoEntity[]>;
    abstract getTodoById(id: string): Observable<TodoEntity>;
    abstract markTodoAsCompleted(id: string, isCompleted: boolean): Observable<TodoEntity>;
    abstract markAllTodosAsCompleted(): Observable<TodoEntity[]>;
    abstract markAllTodosAsActive(): Observable<TodoEntity[]>;
}
