import { Config } from './configs/Config';
import { ConstructorType } from '@dooboostore/core/types';
import { RawSet } from './rawsets/RawSet';
import { Router } from './routers/Router';
export type RunConfig<T = any> = Omit<Config<T>, 'router'> & {
    routerType?: 'path' | 'hash' | ((obj: T, window: Window) => Router) | Router;
};
export type CreateComponentParam = {
    type: ConstructorType<any> | any;
    tagName?: string;
    noStrip?: boolean;
    template?: string;
    styles?: string[] | string;
};
export declare class DomRender {
    static run<T extends object>({ rootObject, target, config }: {
        rootObject: T | (() => T);
        target?: Element | null;
        config?: RunConfig;
    }): T;
    static createComponent(param: CreateComponentParam): import("./configs/TargetElement").TargetElement;
    static createAttribute(attrName: string, getThisObj: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => any, factory: (element: Element, attrValue: string, obj: any, rawSet: RawSet) => DocumentFragment): import("./configs/TargetAttr").TargetAttr;
}
//# sourceMappingURL=DomRender.d.ts.map