import { ComponentType, ReactElement, ReactNode } from 'react';
export interface PageProvider<P> {
    getPageName(props: P, fallback?: string): string;
}
export declare type PageProviderElement = ReactElement<any, ComponentType & PageProvider<any>>;
export interface PageModule {
    [action: string]: ComponentType | ReactElement | undefined;
}
export declare type LazyPageModule = () => Promise<PageModule>;
export declare type PagesMapElement = LazyPageModule | PageModule | ComponentType | ReactElement | PageProviderElement;
export declare type PagesMap = Record<string, PagesMapElement>;
export interface PagesProps {
    children: PagesMap | PageProviderElement[] | PageProviderElement;
    layout?: ComponentType<{
        children?: ReactNode;
    }>;
}
/**
 * Pages element specifies collection of pages (component Page or component with getPageName static method).
 */
export declare const Pages: ({ children, layout }: PagesProps) => JSX.Element;
//# sourceMappingURL=Pages.d.ts.map