/**
 * Initializer/Dev mode initializer
 * Uses AppInitializer pattern for app initialization
 */
import type { App } from 'vue';
import { AuthModeInitializer, type AuthMode, type AuthModeConfig } from './AuthModeInitializer';
export interface AppInitializationResult {
    [key: string]: any;
}
export interface AppInitializer {
    initializeApp: () => Promise<AppInitializationResult>;
    startInitialization: () => Promise<void>;
}
export interface InitializerModeConfig extends AuthModeConfig {
    mode: 'initializer' | 'dev';
    appInitializer: AppInitializer;
    setLoading?: (loading: boolean) => void;
    redirectToLogin?: () => void | Promise<void>;
    currentRoutePath?: string;
    loginRoutePath?: string;
}
export declare class InitializerModeInitializer extends AuthModeInitializer {
    private app;
    constructor(app: App, config: InitializerModeConfig);
    protected get initializerConfig(): InitializerModeConfig;
    getMode(): AuthMode;
    initialize(): Promise<void>;
}
//# sourceMappingURL=InitializerModeInitializer.d.ts.map