import { type Binding, type NodeDefinition } from './schema';
import { type NodeProps } from './types';
export type NodeModifier = (node: NodeDefinition) => NodeDefinition;
export declare function el(type: string, props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]): NodeDefinition;
export declare const section: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const headerSection: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const stack: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const inline: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const accordion: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const accordionItem: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const carousel: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const text: (props?: (NodeProps & {
    size?: never;
    weight?: never;
}) | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const richText: (props?: (NodeProps & {
    size?: never;
    weight?: never;
}) | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const icon: (props?: NodeProps | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const media: (props?: NodeProps | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const fileDownload: (props?: NodeProps | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const videoEmbed: (props?: NodeProps | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const spinner: (props?: NodeProps | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const button: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const link: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const form: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const bookingForm: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const eventRegistration: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const shop: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const productList: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const productDetail: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const cart: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const checkout: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const gifting: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare const courseRegistration: (props?: NodeProps | null, children?: Array<NodeDefinition | null | undefined> | null, ...mods: NodeModifier[]) => NodeDefinition;
export declare function bind(from: string, options?: {
    fallback?: unknown;
    transforms?: Array<{
        id: string;
        options?: Record<string, unknown>;
    }>;
    pick?: 'value' | 'collection' | 'context';
    coerce?: 'number' | 'boolean' | 'string';
}): NodeModifier;
export declare function when(path: string, options?: {
    equals?: unknown;
    not?: boolean;
}): NodeModifier;
export declare function scopes(entries: Array<{
    name: string;
    from: Binding;
}>): NodeModifier;
export declare function repeat(collectionPath: string, itemName?: string, options?: {
    indexName?: string;
    limit?: number;
    sortBy?: {
        path: string;
        direction?: 'asc' | 'desc';
    };
}): NodeModifier;
export declare function props(extra: Record<string, unknown>): NodeModifier;
type AccordionListOptions = {
    collection: string;
    itemName?: string;
    indexName?: string;
    accordionProps?: NodeProps | null;
    itemProps?: NodeProps | null;
    triggerFrom: string;
    contentFrom?: string;
    valueFrom?: string | null;
};
export declare function accordionList({ collection, itemName, indexName, accordionProps, itemProps, triggerFrom, contentFrom, valueFrom, }: AccordionListOptions, ...mods: NodeModifier[]): NodeDefinition;
export {};
