export type VariantColor = 'warning' | 'delete' | 'info' | 'success';
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
export type MakeRequired<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
export type PartialExcept<T, K extends keyof T> = Partial<Omit<T, K>> & Pick<T, K>;
export type RequiredExcept<T, K extends keyof T> = Required<Omit<T, K>> & Partial<Pick<T, K>>;
export type PickRequired<T, K extends keyof T> = Required<Pick<T, K>>;
export type OmitExcept<T, K extends keyof T> = Pick<T, K> & Partial<Record<Exclude<keyof T, K>, never>>;
export type ContainerSize = {
    containerWidth: number;
    containerHeight: number;
};
export type Size = {
    width: number;
    height: number;
};
export type PositionXY = {
    x: number;
    y: number;
};
export type OptionalPosition = {
    x?: number;
    y?: number;
};
/**
 * fieldValue with generic that allow to use nested attributes from a interface or object
 * example: 'fieldValue' = 'object.field1.field2'
 */
export type DeepKeyOf<TRow> = TRow extends object ? {
    [Key in keyof TRow & string]: NonNullable<TRow[Key]> extends object ? Key | `${Key}.${DeepKeyOf<NonNullable<TRow[Key]>>}` : Key;
}[keyof TRow & string] : never;
//# sourceMappingURL=types.d.ts.map