/// <reference types="react" />
import { ComponentMetadata } from '@subscan/widget-core/lib/metadata';
import { ComponentImplProps } from '@subscan/widget-runtime';
import { TLiteral } from '@sinclair/typebox';
import { SlotSpec } from '@subscan/widget-core';
export declare type IntoStringUnion<T> = {
    [K in keyof T]: T[K] extends string ? TLiteral<T[K]> : never;
};
export declare function StringUnion<T extends string[] | number[]>(values: [...T], options?: any): import("@sinclair/typebox").TKeyOf<import("@sinclair/typebox").ReadonlyOptionalPropertyKeys<Record<T[number], any>> | import("@sinclair/typebox").ReadonlyPropertyKeys<Record<T[number], any>> | import("@sinclair/typebox").OptionalPropertyKeys<Record<T[number], any>> | Exclude<T[number], import("@sinclair/typebox").ReadonlyOptionalPropertyKeys<Record<T[number], any>> | import("@sinclair/typebox").ReadonlyPropertyKeys<Record<T[number], any>> | import("@sinclair/typebox").OptionalPropertyKeys<Record<T[number], any>>>>;
export declare const FALLBACK_METADATA: ComponentMetadata;
export declare const getComponentProps: <T extends Record<string, unknown>, TState, TMethods, TSlots extends Record<string, SlotSpec>, KStyleSlots extends readonly string[], KEvents extends readonly string[]>(props: T & {
    component: import("@subscan/widget-core").RuntimeComponentSchema<T>;
    childrenMap: import("@subscan/widget-runtime").ChildrenMap<string>;
    services: import("@subscan/widget-runtime").UIServices;
    isInModule: boolean;
    app: import("@subscan/widget-core").RuntimeApplication;
    evalListItem?: boolean | undefined;
    slotContext?: {
        renderSet: Set<string>;
        slotKey?: string | undefined;
    } | undefined;
} & import("@subscan/widget-runtime").ComponentParamsFromApp & {
    data?: unknown;
    customStyle?: Record<KStyleSlots[number], string> | undefined;
    callbackMap?: import("@subscan/widget-runtime").CallbackMap<KEvents[number]> | undefined;
    componentDidUnmount?: (() => void)[] | undefined;
    componentDidMount?: (() => void | Function)[] | undefined;
    componentDidUpdate?: (() => void | Function)[] | undefined;
} & import("@subscan/widget-runtime").RuntimeFunctions<TState, TMethods, TSlots> & {
    elementRef?: import("react").MutableRefObject<any> | undefined;
    getElement?: ((ele: HTMLElement) => void) | undefined;
}) => Omit<T & {
    component: import("@subscan/widget-core").RuntimeComponentSchema<T>;
    childrenMap: import("@subscan/widget-runtime").ChildrenMap<string>;
    services: import("@subscan/widget-runtime").UIServices;
    isInModule: boolean;
    app: import("@subscan/widget-core").RuntimeApplication;
    evalListItem?: boolean | undefined;
    slotContext?: {
        renderSet: Set<string>;
        slotKey?: string | undefined;
    } | undefined;
} & import("@subscan/widget-runtime").ComponentParamsFromApp & {
    data?: unknown;
    customStyle?: Record<KStyleSlots[number], string> | undefined;
    callbackMap?: import("@subscan/widget-runtime").CallbackMap<KEvents[number]> | undefined;
    componentDidUnmount?: (() => void)[] | undefined;
    componentDidMount?: (() => void | Function)[] | undefined;
    componentDidUpdate?: (() => void | Function)[] | undefined;
} & import("@subscan/widget-runtime").RuntimeFunctions<TState, TMethods, TSlots> & {
    elementRef?: import("react").MutableRefObject<any> | undefined;
    getElement?: ((ele: HTMLElement) => void) | undefined;
}, "mergeState" | "elementRef" | "services" | "component" | "slotsElements" | "childrenMap" | "app" | "customStyle" | "callbackMap" | "subscribeMethods" | "getElement" | "hooks" | "isInModule" | "isInEditor" | "componentDidMount" | "componentDidUnmount" | "componentDidUpdate">;
