import { ReactLocation, Route, MakeGenerics } from '@tanstack/react-location';
import * as React from 'react';
import { SearchFilter } from '../types';
export declare type SearchPagination = {
    index?: number;
    size?: number;
};
export declare type DefaultLocationGenerics = MakeGenerics<{
    Params: {
        userId: string;
        logId: string;
        roleId: string;
        key: string;
        Id: string;
        rememberMe: string;
        returnUrl: string;
        clientId: string;
        email: string;
        userName: string;
        loginProvider: string;
    };
    Search: {
        pagination: SearchPagination;
        returnUrl: string;
        errorId: string;
        logoutId: string;
        searchFilter: SearchFilter;
    };
    RouteMeta: {
        breadcrumb: (params: DefaultLocationGenerics['Params']) => React.ReactElement | string;
    };
}>;
export declare type valueOf<T> = T[keyof T];
export declare type AppProviderProps<TGenerics extends DefaultLocationGenerics = DefaultLocationGenerics> = {
    routes?: Route<TGenerics>[];
    routesFunctions?: () => Route<TGenerics>;
    location?: ReactLocation<TGenerics>;
    createDefaultOutlet?: boolean;
    children?: React.ReactNode;
    CustomAuthProvider?: React.ComponentType<any>;
};
export declare const AppProvider: <TGenerics extends {
    Params: {
        userId: string;
        logId: string;
        roleId: string;
        key: string;
        Id: string;
        rememberMe: string;
        returnUrl: string;
        clientId: string;
        email: string;
        userName: string;
        loginProvider: string;
    };
    Search: {
        pagination: SearchPagination;
        returnUrl: string;
        errorId: string;
        logoutId: string;
        searchFilter: SearchFilter;
    };
    RouteMeta: {
        breadcrumb: (params: DefaultLocationGenerics['Params']) => React.ReactElement | string;
    };
} = {
    Params: {
        userId: string;
        logId: string;
        roleId: string;
        key: string;
        Id: string;
        rememberMe: string;
        returnUrl: string;
        clientId: string;
        email: string;
        userName: string;
        loginProvider: string;
    };
    Search: {
        pagination: SearchPagination;
        returnUrl: string;
        errorId: string;
        logoutId: string;
        searchFilter: SearchFilter;
    };
    RouteMeta: {
        breadcrumb: (params: DefaultLocationGenerics['Params']) => React.ReactElement | string;
    };
}>({ routes, routesFunctions, location, createDefaultOutlet, children, CustomAuthProvider, }: AppProviderProps<TGenerics>) => JSX.Element;
//# sourceMappingURL=app.d.ts.map