import type { ReactNode } from 'react';
/**
 * Configuration for SmartStack
 */
export interface SmartStackConfig {
    /**
     * Base URL for the SmartStack API
     * @example 'http://localhost:5142' or 'https://api.myapp.com'
     */
    apiUrl: string;
    /**
     * Default language for i18n
     * @default 'fr'
     */
    defaultLanguage?: 'fr' | 'en';
    /**
     * Enable debug mode (additional logging)
     * @default false
     */
    debug?: boolean;
    /**
     * Custom logo component to display in header
     */
    logo?: ReactNode;
    /**
     * Application name displayed in header
     */
    appName?: string;
    /**
     * License key for SmartStack features
     */
    licenseKey?: string;
}
/**
 * Route configuration for custom routes
 */
export interface RouteConfig {
    /**
     * Route path (e.g., '/', '/about', '/pricing')
     */
    path: string;
    /**
     * React element to render for this route
     */
    element: ReactNode;
    /**
     * Optional child routes
     */
    children?: RouteConfig[];
    /**
     * Optional index route flag
     */
    index?: boolean;
}
/**
 * Route priority levels
 */
export type RoutePriority = 'client' | 'smartstack';
/**
 * Internal route definition with metadata
 */
export interface InternalRoute extends RouteConfig {
    /**
     * Source of the route (for conflict resolution)
     */
    source: RoutePriority;
    /**
     * Whether this route is locked (cannot be overridden)
     */
    locked?: boolean;
}
//# sourceMappingURL=types.d.ts.map