import { ModelTypes } from "../zeus/index.js"; import { FieldFrontType } from "../graphql/core/selectors.js"; type FieldWithVisuals = Omit & { visual?: { [P in keyof ModelTypes['Visual']]: ModelTypes['Visual'][P] extends infer R | null ? R : ModelTypes['Visual'][P]; }; }; export declare const useHusar: () => { cmsFields: (fields: ModelTypes["CMSField"][]) => (query: FlattenKeys) => FieldWithVisuals; }; type TrimDot = S extends `${infer R}.` ? R : S; export type RemoveArrays = T extends Array ? R : T; export type FlattenKeysStart = T extends object ? { [K in keyof T]-?: T[K] extends infer U ? U extends undefined ? never : `${Extract}${FlattenKeysStart> extends '' ? '' : '.'}${FlattenKeysStart>}` : never; }[keyof T] : ''; export type FlattenKeys = TrimDot>; export type RemoveNullKeys = { [K in keyof T]: null extends T[K] ? never : K; }[keyof T]; type CleanedType = Pick>; export declare const noNulls: >(t?: T) => CleanedType | undefined; export type FlattenedKeyType = T extends (infer E)[] ? FlattenedKeyType : P extends `${infer K}.${infer Rest}` ? K extends keyof T ? FlattenedKeyType extends infer R ? undefined extends T[K] ? R | undefined : R : never : never : P extends keyof T ? T[P] : never; export type ComponentsOverride = Partial<{ [P in FlattenKeys]: (props: { attrs: { [P in keyof ModelTypes['Visual']]: ModelTypes['Visual'][P] extends infer R | null ? R : ModelTypes['Visual'][P]; }; data?: FlattenedKeyType | null; component?: React.JSX.Element; f: FieldFrontType; }) => React.JSX.Element; }>; export type AttributesOverride = Partial<{ [P in FlattenKeys]: (props: { attrs: { [P in keyof ModelTypes['Visual']]: ModelTypes['Visual'][P] extends infer R | null ? R : ModelTypes['Visual'][P]; }; data?: X extends true ? FlattenedKeyType extends (infer E)[] | undefined | null ? E | null : FlattenedKeyType | null : FlattenedKeyType | null; }) => React.DetailedHTMLProps, Y>; }>; export {};