///
export interface ArgsObj {
[key: string]: string | number | boolean | null | undefined;
}
export interface ArgsObjJsx {
[key: string]: string | number | boolean | null | undefined | JSX.Element;
}
export declare type FArgsPrimitives = (string | number | boolean | null | undefined | ArgsObj)[];
export declare type FArgs = (string | number | boolean | null | undefined | JSX.Element | ArgsObj | ArgsObjJsx)[];
export interface JSXConfig {
isValidElement: (v: any) => v is JSX.Element;
cloneElement: (v: any, props: any, ...children: (JSX.Element | string)[]) => any;
toFragment: (v: any | any[]) => any;
}
declare type ParsedElement = {
type: "text";
value: string;
} | {
type: "subst";
value: string;
};
export declare function parseFormat(text: string): ParsedElement[];
export declare const format: (cfg: JSXConfig, template: string, ...args: TArgs) => TArgs extends FArgsPrimitives ? string : string | JSX.Element;
export {};