import { ReactNode, ComponentType } from "react"; import { UseQueryResult } from "@tanstack/react-query"; import { ILogData } from "src/interfaces"; declare const auditLogPermissions: readonly ["create", "update", "delete"]; declare type AuditLogPermissions = typeof auditLogPermissions; export interface IResourceContext { resources: IResourceItem[]; } declare type OptionsProps = TExtends & { label?: string; route?: string; dataProviderName?: string; auditLog?: { permissions?: AuditLogPermissions[number][] | string[]; }; [key: string]: any; hide?: boolean; }; export interface ResourceProps extends IResourceComponents { name: string; canDelete?: boolean; icon?: ReactNode; options?: OptionsProps; parentName?: string; key?: string; } export interface IResourceComponentsProps { canCreate?: boolean; canEdit?: boolean; canDelete?: boolean; canShow?: boolean; name?: string; initialData?: TCrudData; options?: OptionsProps; logQueryResult?: UseQueryResult; } export interface IResourceComponents { list?: ComponentType>; create?: ComponentType>; edit?: ComponentType>; show?: ComponentType>; } export interface IResourceItem extends IResourceComponents { name: string; label?: string; route?: string; icon?: ReactNode; canCreate?: boolean; canEdit?: boolean; canShow?: boolean; canDelete?: boolean; options?: OptionsProps; parentName?: string; key?: string; } export {}; //# sourceMappingURL=IResourceContext.d.ts.map