import { OnDestroy, OnInit } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import { TranslateService } from '@ngx-translate/core';
import { ErrorsExtractor, ModalsService, User } from '@rucken/core';
import { Project, StatusWithProject } from '@rucken/todo-core';
import { DynamicRepository, IRestProviderOptions } from 'ngx-repository';
import { Subscription } from 'rxjs';
import { StatusesGridModalComponent } from '../../statuses/statuses-grid-modal/statuses-grid-modal.component';
import { StatusesGridComponent } from '../../statuses/statuses-grid/statuses-grid.component';
export declare class ProjectStatusesGridComponent extends StatusesGridComponent implements ControlValueAccessor, OnInit, OnDestroy {
    protected errorsExtractor: ErrorsExtractor;
    protected translateService: TranslateService;
    protected dynamicRepository: DynamicRepository;
    protected statusesConfig: IRestProviderOptions<User>;
    modalDelete: {
        initialState: {
            title: string;
            message: string;
        };
    };
    modalAppendFromGrid: {
        component: typeof StatusesGridModalComponent;
        initialState: {
            title: string;
        };
    };
    project: Project;
    mockedItemsChangeSubscription: Subscription;
    constructor(modalsService: ModalsService, errorsExtractor: ErrorsExtractor, translateService: TranslateService, dynamicRepository: DynamicRepository, statusesConfig: IRestProviderOptions<User>);
    ngOnInit(overrided?: boolean): void;
    ngOnDestroy(): void;
    writeValue(statuses: StatusWithProject[]): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState?(isDisabled: boolean): void;
    _onChange: (value: User) => void;
    _onTouched: () => void;
}
