import IDatabase from "../../interfaces/database";
import IModel from "../../interfaces/model";
import { TCategory } from "../../types/category";
import CategoryDescriptionModel from "./category-description";
import CategoryPathModel from "./category-path";
export default class CategoryModel implements IModel<TCategory> {
    private database;
    constructor(database: IDatabase);
    private table;
    description: CategoryDescriptionModel;
    path: CategoryPathModel;
    select(criteria: Partial<TCategory>): Promise<any[]>;
    insert(data: Partial<TCategory>): Promise<import("../../types").TResponseHeaders>;
    update(criteria: Partial<TCategory>, data: Partial<TCategory>): Promise<import("../../types").TResponseHeaders>;
    delete(criteria: Partial<TCategory>): Promise<import("../../types").TResponseHeaders>;
    toStore(categoryId: number, storeId: number): Promise<import("../../types").TResponseHeaders>;
    toLayout(categoryId: number, storeId: number, layoutId: number): Promise<import("../../types").TResponseHeaders>;
}
