import { HTMLAttributes, ComponentProps as ReactComponentProps } from 'react';
import { AssetParamValueItem } from '@uniformdev/canvas';
import { UniformComposition } from '@uniformdev/next-app-router';
import { ComponentParameter } from '@uniformdev/next-app-router-shared';
type ResolveEmptyPlaceholderFunction = NonNullable<
ReactComponentProps['resolveEmptyPlaceholder']
>;
export type ResolveEmptyPlaceholderOptions = Parameters[0];
export type ViewPort = {
desktop?: T;
tablet?: T;
mobile?: T;
};
export type SpaceType = Pick<
NonNullable['style']>,
| 'marginTop'
| 'marginLeft'
| 'paddingTop'
| 'marginRight'
| 'paddingLeft'
| 'marginBottom'
| 'paddingRight'
| 'paddingBottom'
>;
type ToComponentParameters = {
[K in keyof T]: ComponentParameter;
};
export type ComponentProps<
T,
S extends string = string,
> = import('@uniformdev/next-app-router/component').ComponentProps, S>;
type ValueOfField = F extends { value: infer V } ? V : never;
type FlattenFields = {
[K in keyof T['fields']]: ValueOfField;
};
type RenameKey = Omit & { [P in NewName]: T[K] };
export type ResolvedAssetFromItem = RenameKey, 'id', 'file'> & {
id: T['_id'];
};
export type ReplaceFieldsWithAssets = Omit & {
[P in K]?: ResolvedAssetFromItem[];
};