import { z } from 'zod'; import type { Attachment } from '../../forms/FormDataHelpers.js'; import { Caching } from '../../shared.js'; import type { ThreekitAuthProps } from '../../ThreekitAuthProps.js'; import { Route } from '../Route.js'; export declare enum DatatableColumnType { Asset = "Asset", String = "String", Number = "Number" } export declare const DatatableColumn: z.ZodObject<{ name: z.ZodString; type: z.ZodNativeEnum; }, "strip", z.ZodTypeAny, { type: DatatableColumnType; name: string; }, { type: DatatableColumnType; name: string; }>; export type DatatableColumn = z.infer; export declare const Datatable: z.ZodObject; deletedAt: z.ZodOptional>; updatedAt: z.ZodOptional>; }, { id: z.ZodString; orgId: z.ZodString; name: z.ZodString; delimiter: z.ZodNullable>; columnInfo: z.ZodArray; }, "strip", z.ZodTypeAny, { type: DatatableColumnType; name: string; }, { type: DatatableColumnType; name: string; }>, "many">; }>, "strip", z.ZodTypeAny, { orgId: string; createdAt: string; id: string; name: string; columnInfo: { type: DatatableColumnType; name: string; }[]; createdBy?: string | undefined; deletedAt?: string | null | undefined; updatedAt?: string | null | undefined; delimiter?: string | null | undefined; }, { orgId: string; createdAt: string; id: string; name: string; columnInfo: { type: DatatableColumnType; name: string; }[]; createdBy?: string | undefined; deletedAt?: string | null | undefined; updatedAt?: string | null | undefined; delimiter?: string | null | undefined; }>; export type Datatable = z.infer; export declare const DatatableListing: z.ZodObject; perPage: z.ZodOptional; sort: z.ZodOptional; }, { datatables: z.ZodArray; deletedAt: z.ZodOptional>; updatedAt: z.ZodOptional>; }, { id: z.ZodString; orgId: z.ZodString; name: z.ZodString; delimiter: z.ZodNullable>; columnInfo: z.ZodArray; }, "strip", z.ZodTypeAny, { type: DatatableColumnType; name: string; }, { type: DatatableColumnType; name: string; }>, "many">; }>, "columnInfo">, { columnInfo: z.ZodString; }>, "strip", z.ZodTypeAny, { orgId: string; createdAt: string; id: string; name: string; columnInfo: string; createdBy?: string | undefined; deletedAt?: string | null | undefined; updatedAt?: string | null | undefined; delimiter?: string | null | undefined; }, { orgId: string; createdAt: string; id: string; name: string; columnInfo: string; createdBy?: string | undefined; deletedAt?: string | null | undefined; updatedAt?: string | null | undefined; delimiter?: string | null | undefined; }>, "many">; }>, "strip", z.ZodTypeAny, { datatables: { orgId: string; createdAt: string; id: string; name: string; columnInfo: string; createdBy?: string | undefined; deletedAt?: string | null | undefined; updatedAt?: string | null | undefined; delimiter?: string | null | undefined; }[]; sort?: string | undefined; page?: number | undefined; perPage?: number | undefined; }, { datatables: { orgId: string; createdAt: string; id: string; name: string; columnInfo: string; createdBy?: string | undefined; deletedAt?: string | null | undefined; updatedAt?: string | null | undefined; delimiter?: string | null | undefined; }[]; sort?: string | undefined; page?: number | undefined; perPage?: number | undefined; }>; export type DatatableListing = z.infer; export declare const DatatableRow: z.ZodRecord>; export type DatatableRow = z.infer; export declare const DatatableRowListing: z.ZodObject<{ id: z.ZodString; orgId: z.ZodString; tableId: z.ZodString; createdAt: z.ZodOptional; value: z.ZodRecord>; }, "strip", z.ZodTypeAny, { orgId: string; value: Record; id: string; tableId: string; createdAt?: string | undefined; }, { orgId: string; value: Record; id: string; tableId: string; createdAt?: string | undefined; }>; export type DatatableRowListing = z.infer; export declare const DatatableRowsListing: z.ZodObject; perPage: z.ZodOptional; sort: z.ZodOptional; }, { rows: z.ZodArray; value: z.ZodRecord>; }, "strip", z.ZodTypeAny, { orgId: string; value: Record; id: string; tableId: string; createdAt?: string | undefined; }, { orgId: string; value: Record; id: string; tableId: string; createdAt?: string | undefined; }>, "many">; }>, "strip", z.ZodTypeAny, { rows: { orgId: string; value: Record; id: string; tableId: string; createdAt?: string | undefined; }[]; sort?: string | undefined; page?: number | undefined; perPage?: number | undefined; }, { rows: { orgId: string; value: Record; id: string; tableId: string; createdAt?: string | undefined; }[]; sort?: string | undefined; page?: number | undefined; perPage?: number | undefined; }>; export type DatatableRowsListing = z.infer; export declare const CreateDatatableProps: z.ZodObject; deletedAt: z.ZodOptional>; updatedAt: z.ZodOptional>; }, { id: z.ZodString; orgId: z.ZodString; name: z.ZodString; delimiter: z.ZodNullable>; columnInfo: z.ZodArray; }, "strip", z.ZodTypeAny, { type: DatatableColumnType; name: string; }, { type: DatatableColumnType; name: string; }>, "many">; }>, "name" | "delimiter" | "columnInfo">, "strip", z.ZodTypeAny, { name: string; columnInfo: { type: DatatableColumnType; name: string; }[]; delimiter?: string | null | undefined; }, { name: string; columnInfo: { type: DatatableColumnType; name: string; }[]; delimiter?: string | null | undefined; }>; export type CreateDatatableProps = z.infer & { file: Attachment; }; export declare const UpdateDatatableProps: z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>; export type UpdateDatatableProps = z.infer & { file: Attachment; }; export declare const DatatableQueryProps: z.ZodObject<{ name: z.ZodOptional; deleted: z.ZodOptional; }, "strip", z.ZodTypeAny, { name?: string | undefined; deleted?: boolean | undefined; }, { name?: string | undefined; deleted?: boolean | undefined; }>; export type DatatableQueryProps = z.infer; export declare const DatatableRowQueryProps: z.ZodRecord>; deleteById(id: string): Promise>; downloadCsvById(id: string): Promise>; get(queryProps?: DatatableQueryProps): Promise>; getById(id: string, caching?: Caching): Promise>; getRow(id: string, queryProps: DatatableRowQueryProps, caching?: Caching): Promise; id: string; tableId: string; createdAt?: string | undefined; }, any>>; getRowsById(id: string, all?: boolean, caching?: Caching): Promise; id: string; tableId: string; createdAt?: string | undefined; }[]; sort?: string | undefined; page?: number | undefined; perPage?: number | undefined; }, any>>; restoreById: (id: string) => Promise>; updateById(id: string, updateProps: UpdateDatatableProps): Promise>; }