import { ExtInfo, IPreloadFirstScreen } from './interface';
import { StyleMap } from './StyleUtil';
declare type LoadingScreenCodeProps = {
    autoRemove: boolean;
};
declare type IRenderRemoveFN = (delay: number | boolean, extraCode?: string) => string;
declare class LoadingScreenCode {
    timeout: number;
    logo: string;
    extName: string;
    autoRemove: boolean;
    style: StyleMap;
    constructor(props: LoadingScreenCodeProps, extInfo?: ExtInfo);
    getUrl(): string;
    renderStyleTag(): string;
    renderHTML(): string;
    renderScript(renderRemoveFn: IRenderRemoveFN): string;
}
declare class StaicBgScreenCode {
    autoRemove: boolean;
    url: string;
    dynamicSize: boolean;
    delay: number;
    style: StyleMap;
    dynamicStyle: StyleMap;
    constructor(props: IPreloadFirstScreen);
    updateUrl(url: string): void;
    getUrl(): string;
    renderStyleTag(): string;
    renderHTML(): string;
    _renderDynamicStyleCode(): string;
    renderScript(renderRemoveFn: IRenderRemoveFN): string;
}
export declare class FirstScreenCode {
    style: StyleMap;
    mode: string;
    modeCode: StaicBgScreenCode | LoadingScreenCode;
    autoRemove: boolean;
    constructor(props: IPreloadFirstScreen, extInfo?: ExtInfo);
    private init;
    private wrapSetTimeout;
    private renderRemoveFirstScreenCode;
    renderHandleFirstScreenCode(wrapScriptTag?: boolean): string;
    renderStyleTag(): string;
    genPreloadLinkConfig(): {
        rel: string;
        href: string;
        as: string;
    } | null;
    renderFirstScreenNodeCode(): string;
    render(): string;
}
export {};
