import type { ColorSchemeState } from './core/color-scheme.js';
import type { InjectStyle } from './core/utils/inject-styles.js';
import type { LoadDataBaseOptions, LoadDataFetchOptions } from './core/utils/load-data.js';
import { dataSource } from './core/utils/load-data.js';
import { Progressbar } from './core/utils/progressbar.js';
export type PreloaderOptions = {
    dataSource: keyof typeof dataSource;
    container: HTMLElement;
    styles: InjectStyle[];
    colorScheme: ColorSchemeState;
    colorSchemePersistent: boolean;
    embed: boolean;
    progressbar: Progressbar;
    loadDataOptions: LoadDataBaseOptions | LoadDataFetchOptions;
    data: any;
    /** @deprecated Legacy option, use colorScheme instead */
    darkmode: ColorSchemeState;
    /** @deprecated Legacy option, use colorSchemePersistent instead */
    darkmodePersistent: boolean;
};
export declare function preloader(options: Partial<PreloaderOptions>): (Promise<void> | Promise<import("./core/utils/load-data.types.js").Dataset>) & {
    el: HTMLDivElement;
    shadowRoot: ShadowRoot;
    progressbar: Progressbar;
    disposeEmbed: (() => void) | undefined;
};
export declare namespace preloader {
    var colorScheme: boolean;
}
