import { Component, JSX, Accessor } from 'solid-js'; import { ArrowProps, BackgroundProps, WithBluefishProps, Id } from 'bluefish-solid'; import { MountableElement } from 'solid-js/web'; export type ExpandableNode = Node & { [key: string]: any; }; export type HyperScriptReturn = () => ExpandableNode | ExpandableNode[]; export type Child = JSX.Element | HyperScriptReturn; export declare function For(props: { each: T | undefined | null | false; fallback?: Child; }, children: (item: T[number], index: Accessor) => U): HyperScriptReturn; export declare function Index(props: { each: T | undefined | null | false; fallback?: Child; }, children: (item: Accessor, index: number) => U): HyperScriptReturn; type RequiredParameter = T extends () => unknown ? never : T; export declare function Show>) => Child>(props: { when: T | undefined | null | false; keyed?: false; fallback?: Child; }, children: Child | RequiredParameter): HyperScriptReturn; export declare function Show) => Child>(props: { when: T | undefined | null | false; keyed: true; fallback?: Child; }, children: Child | RequiredParameter): HyperScriptReturn; export declare function Switch(props: { fallback?: Child; }, children: Child): HyperScriptReturn; export declare function Match>) => Child>(props: { when: T | undefined | null | false; keyed?: false; }, children: Child | RequiredParameter): HyperScriptReturn; export declare function Match) => Child>(props: { when: T | undefined | null | false; keyed: true; }, children: Child | RequiredParameter): HyperScriptReturn; export type HyperScriptComponent

= { (props: P, children: Child | Child[]): HyperScriptReturn; (children: Child | Child[]): HyperScriptReturn; }; export type HyperScriptComponentOneChild

= { (props: P, children: Child): HyperScriptReturn; (children: Child): HyperScriptReturn; }; export type HyperScriptComponentNoChildren

= { (props?: P): HyperScriptReturn; }; export declare function component

(fn: Component

): HyperScriptComponent

; export declare function componentOneChild

(fn: Component

): HyperScriptComponentOneChild

; export declare function componentNoChildren

(fn: Component

): HyperScriptComponentNoChildren

; export declare function withBluefish(WrappedComponent: Component): HyperScriptComponent & { name?: Id; zOrder?: number; }>; export declare const Bluefish: HyperScriptComponent; export declare const render: (code: () => Child | Child[], element: MountableElement) => () => void; export { createName } from 'bluefish-solid'; export declare const Align: HyperScriptComponent & { name?: Id; zOrder?: number; }>; export declare const Arrow: HyperScriptComponent & { name?: Id; }>; type HyperScriptBackgroundProps = WithBluefishProps & { background?: () => HyperScriptReturn; name?: Id; }>; export declare const Background: HyperScriptComponent; export declare const Blob: HyperScriptComponent; } & Omit, "d">, "name"> & { name?: Id; zOrder?: number; }>; export declare const Circle: HyperScriptComponentNoChildren & { name: Id; cx?: number; cy?: number; r: number; }, "name"> & { name?: Id; zOrder?: number; }>; export declare const StackV: HyperScriptComponent & { alignment?: import('bluefish-solid').AlignmentHorizontal; } & { children?: JSX.Element; }, "name"> & { name?: import('bluefish-solid/dist/scenegraph').Id; zOrder?: number; }>; export declare const Distribute: HyperScriptComponent & { name?: Id; zOrder?: number; }>; export declare const Group: HyperScriptComponent, "transform"> & { name: Id; x?: number; y?: number; rels?: () => JSX.Element; } & { children?: JSX.Element; }, "name"> & { name?: Id; zOrder?: number; }>; export declare const Image: HyperScriptComponentNoChildren & { name: Id; x?: number; y?: number; width?: number; height?: number; }, "name"> & { name?: Id; zOrder?: number; }>; export declare const Layout: HyperScriptComponent; export declare const LayoutFunction: HyperScriptComponent import('bluefish-solid').BBox; x?: number; y?: number; } & { children?: JSX.Element; }, "name"> & { name?: Id; zOrder?: number; }>; export declare const Line: HyperScriptComponent & { name?: import('bluefish-solid/dist/scenegraph').Id; zOrder?: number; }>; export declare const Rect: HyperScriptComponentNoChildren & { name: Id; x?: number; y?: number; width?: number; height?: number; }, "name"> & { name?: Id; zOrder?: number; }>; export declare const Ref: HyperScriptComponentNoChildren & { name?: Id; zOrder?: number; }>; export declare const StackH: HyperScriptComponent & { alignment?: import('bluefish-solid').AlignmentVertical; } & { children?: JSX.Element; }, "name"> & { name?: import('bluefish-solid/dist/scenegraph').Id; zOrder?: number; }>; export declare const Text: HyperScriptComponent; innerTextRef?: import('solid-js').Ref; x?: string | number; y?: string | number; dx?: string | number; dy?: string | number; "line-height"?: string | number | undefined; "cap-height"?: string | number | undefined; width?: number; children?: string | number; delimiters?: import('bluefish-solid/dist/text/splitAtDelimiters').Delimiter[]; } & Omit, "x" | "y" | "children" | "width" | "className" | "scaleToFit" | "angle" | "vertical-anchor" | "innerRef" | "innerTextRef" | "dx" | "dy" | "line-height" | "cap-height" | "delimiters"> & { name: import('bluefish-solid/dist/scenegraph').Id; }, "name"> & { name?: import('bluefish-solid/dist/scenegraph').Id; zOrder?: number; }>; export declare const Path: HyperScriptComponentNoChildren & { name: Id; d: string; x?: number; y?: number; position?: "absolute" | "relative"; }, "name"> & { name?: Id; zOrder?: number; }>; //# sourceMappingURL=index.d.ts.map