import { Vue } from "vue-property-decorator";
import { Task } from "../../types/Task";
import { TaskModule } from "../../modules/TaskModule";
import { Order } from "../../../base/types/Order";
import Client from "../../../base/types/Client";
import { Manager } from "../../../../types/Manager";
import { Category } from "../../types/Category";
import { ResponseErrors } from "../../../../types";
import { TaskUserModule } from "../../modules/TaskUserModule";
export default class EditTaskForm extends Vue {
    taskModule: TaskModule;
    userModule: TaskUserModule;
    task: Task;
    isShowManagersSelect: boolean;
    isLoading: boolean;
    model: Task;
    types: {
        [x: number]: string;
    };
    errors: ResponseErrors;
    category: Category | null;
    performer: Manager | null;
    client: Client | null;
    files: File[];
    orders: Order[];
    executeUntilDate: Date;
    get isTaskType(): boolean;
    get searchClientFn(): (query: string) => Promise<import("../../../base/types/SearchedClient").default[]>;
    get errorsAsArray(): string[];
    get getClientById(): (clientId: number) => Promise<Client>;
    get getClientByOrderName(): (orderName: string) => Promise<Client>;
    get getOrdersByClientId(): (clientId: number) => Promise<Order[]>;
    selectCurrentManager(): void;
    setCandidates(uids: string[]): void;
    setFiles(files: File[]): void;
    saveTask(): void;
    cancel(): boolean;
    save(): boolean;
}
