///
import type { Id } from '../types.ts';
import type { LikeExtended, FieldsValidators, ValidateEntity, DeepReadonly, LikeType } from '@budarin/validate.ts';
export type TaskId = Id;
export type TaskTitle = string;
export type TaskPriorityId = Id;
export type TaskCategoryId = Id | undefined;
export type TaskDescription = string | undefined;
export type TaskExpireDateTime = string | undefined;
export type TaskDeleted = boolean | undefined;
export type TaskCompleted = boolean | undefined;
export type NewTask = {
title: TaskTitle;
priority_id: TaskPriorityId;
category_id?: TaskCategoryId;
description?: TaskDescription;
expire_date_time?: TaskExpireDateTime;
deleted?: TaskDeleted;
completed?: TaskCompleted;
};
export type Task = {
task_id: TaskId;
} & NewTask;
export declare const taskFormFieldsProps: {
task_id: {
title: string;
name: string;
required: boolean;
};
task_date: {
title: string;
name: string;
type: string;
};
task_time: {
title: string;
name: string;
type: string;
};
title: {
title: string;
name: string;
type: string;
pattern: string;
required: boolean;
minLength: number;
maxLength: number;
placeholder: string;
autoComplete: string;
spellCheck: boolean;
onInput: (event: import("react").FormEvent) => void;
onInvalid: (event: import("react").FormEvent) => void;
};
priority_id: {
title: string;
name: string;
required: boolean;
};
category_id: {
title: string;
name: string;
};
description: {
title: string;
name: string;
placeholder: string;
maxLength: number;
};
};
export type TaskFormFieldsProps = typeof taskFormFieldsProps;
export declare function extractNewTask(obj: LikeExtended): LikeType;
export declare const createNewTask: (title: TaskTitle, priorityId: TaskPriorityId, categoryId?: TaskCategoryId, description?: TaskDescription, expireDateTime?: TaskExpireDateTime, deleted?: TaskDeleted, completed?: TaskCompleted) => DeepReadonly;
export declare const newTaskFields: FieldsValidators;
export declare const validateNewTask: ValidateEntity;
export declare function extractTask(obj: LikeExtended): LikeType;
export declare const createTask: (taskId: TaskId, title: TaskTitle, priorityId: TaskPriorityId, categoryId?: TaskCategoryId, description?: TaskDescription, expireDateTime?: TaskExpireDateTime, deleted?: TaskDeleted, completed?: TaskCompleted) => DeepReadonly;
export declare const validateTask: ValidateEntity;