///
import type { Id } from '../types.ts';
import type { DeepReadonly, LikeExtended, ValidateEntity, LikeType } from '@budarin/validate.ts';
export type CategoryId = Id;
export type CategoryIconId = Id;
export type CategoryName = string;
export type NewCategory = {
icon_id: CategoryIconId;
category_name: CategoryName;
};
export type Category = {
category_id: CategoryId;
} & NewCategory;
export declare const categoryFormFieldsProps: {
category_id: {
title: string;
name: string;
required: boolean;
};
icon_id: {
title: string;
name: string;
required: boolean;
};
category_name: {
title: string;
name: string;
type: string;
pattern: string;
spellCheck: boolean;
required: boolean;
minLength: number;
maxLength: number;
placeholder: string;
autoComplete: string;
onInput: (event: import("react").FormEvent) => void;
onInvalid: (event: import("react").FormEvent) => void;
};
};
export type CategoryFormFieldsProps = typeof categoryFormFieldsProps;
export declare function extractNewCategory(obj: LikeExtended): LikeType;
export declare const createNewCategory: (iconId: CategoryId, categoryName: CategoryName) => DeepReadonly;
export declare const validateNewCategory: ValidateEntity;
export declare function extractCategory(obj: LikeExtended): LikeType;
export declare const createCategory: (categoryId: CategoryId, iconId: CategoryIconId, category: CategoryName) => DeepReadonly;
export declare const validateCategory: ValidateEntity;