export type { RouteRecordRaw, RouteRecordSingleView, RouteRecordSingleViewWithChildren, RouteRecordMultipleViews, RouteRecordMultipleViewsWithChildren, RouteRecordRedirect } from 'vue-router';
export type RouteItem<T = any> = {
    path: string;
    name?: string | symbol | undefined | null;
    redirect?: any;
    k?: T;
    meta?: {
        title?: string;
        isLink?: string;
        isHide?: boolean;
        isKeepAlive?: boolean;
        isAffix?: boolean;
        isIframe?: boolean;
        roles?: string[];
        icon?: string;
        isDynamic?: boolean;
        isDynamicPath?: string;
        isIframeOpen?: string;
        loading?: boolean;
    };
    children: RouteItem[];
    query?: {
        [key: string]: T;
    };
    params?: {
        [key: string]: T;
    };
    contextMenuClickId?: string | number;
    commonUrl?: string;
    isFnClick?: boolean;
    type?: string | number;
    url?: string;
    transUrl?: string;
    title?: string;
    id?: string | number;
};
export interface RouteToFrom<T = any> extends Omit<RouteItem<T>, 'path' | 'children'> {
    path?: string;
    children?: T[];
}
export type RouteItems<T extends RouteItem = any> = T[];
