import type { DetailedHTMLProps, ForwardedRef, HTMLAttributes, WeakValidationMap } from "react";
import type ReactElementProps from "../../types/react-element-properties/react-element-properties";
export type PyConfigInterpreters = {
source?: string;
name?: string;
language?: string;
};
export type PyConfigFetchItem = {
files?: string[] | Set;
};
export type PyConfigFetch = PyConfigFetchItem[];
export type PyConfigSplashscreen = {
autoclose?: boolean;
};
export type PyConfigSharedJsonProperties = {
splashscreen?: PyConfigSplashscreen;
interpreters?: PyConfigInterpreters;
fetch?: PyConfigFetch;
packages?: string[] | Set;
plugins?: string[] | Set;
};
export type PyConfigPropertiesWithJsonType = {
children: Record & PyConfigSharedJsonProperties;
type: "json";
} & PyConfigSharedJsonProperties;
export type PyConfigPropertiesWithTomlType = {
children: string;
/**
* @default toml
*/
type?: "toml";
splashscreen?: never;
interpreters?: never;
fetch?: never;
packages?: never;
plugins?: never;
};
export type PyConfigPropertiesWithChildren = (PyConfigPropertiesWithJsonType | PyConfigPropertiesWithTomlType) & {
source?: never;
};
export type PyConfigPropertiesWithoutChildren = {
source: string;
/**
* @default toml
*/
type?: "toml" | "json";
children?: never;
splashscreen?: never;
interpreters?: never;
fetch?: never;
packages?: never;
plugins?: never;
};
export type PyConfigPropertiesBase = Omit, HTMLElement>>, "children"> & (PyConfigPropertiesWithChildren | PyConfigPropertiesWithoutChildren);
export type PyConfigProperties = OptionalProperties extends infer OptionalProperties ? OptionalProperties & PyConfigPropertiesBase : PyConfigPropertiesBase;
export type PyConfigTag = {
(properties: PyConfigProperties, reference?: ForwardedRef): JSX.Element;
displayName?: string;
defaultProps?: Partial;
propTypes?: WeakValidationMap;
};