/**
 * Main App Component
 *
 * Root component that ties together all UI pieces
 */
import type React from 'react';
import type { PluginatorConfig } from '../core/types/config.js';
import type { IPluginSource, Plugin } from '../core/types/index.js';
import { type UICommand } from './commands/index.js';
/**
 * Dev mode props passed from dev CLI wrapper
 */
export interface DevModeProps {
    devMode: true;
    tierOverride: import('../core/types/auth.js').Tier;
    isPaused: boolean;
    pauseReason: string | null;
    onAction?: (action: {
        type: string;
        timestamp: number;
        data: Record<string, unknown>;
    }) => void;
}
export interface AppProps {
    config: PluginatorConfig;
    plugins: Plugin[];
    sources: IPluginSource[];
    themeName?: string;
    devMode?: boolean;
    tierOverride?: import('../core/types/auth.js').Tier;
    isPaused?: boolean;
    pauseReason?: string | null;
    onAction?: DevModeProps['onAction'];
    /** Additional dev-only commands to add to the command palette */
    devCommands?: UICommand[];
}
export declare function App({ themeName, ...props }: AppProps): React.ReactElement;
export default App;
//# sourceMappingURL=App.d.ts.map