import AppRoute from './AppRoute';
import { RouteApi, WindowApi } from './apis';
import { AppLayout } from './layout';
export interface AppDefinitionBase {
    type: 'Window' | 'Route';
    hideToolBar?: boolean;
    hideStatusBar?: boolean;
    hideTitleBar?: boolean;
}
export interface RouteAppDefinition<T extends object> extends AppDefinitionBase {
    type: 'Route';
    commands: (api: RouteApi) => T;
    routes: AppRoute[];
    routeNotFoundComponent?: string;
}
export interface WindowAppDefinition<T extends object> extends AppDefinitionBase {
    type: 'Window';
    commands: (api: WindowApi) => T;
    layout: AppLayout;
}
type AppDefinition<T extends object> = RouteAppDefinition<T> | WindowAppDefinition<T>;
export default AppDefinition;
//# sourceMappingURL=AppDefinition.d.ts.map