import { SSROption } from './router.js';
import { AnySerializationAdapter } from './ssr/serializer/transformer.js';
export interface RouterConfigOptions<in out TSerializationAdapters, in out TDefaultSsr> {
    serializationAdapters?: TSerializationAdapters;
    defaultSsr?: TDefaultSsr;
}
export interface RouterConfig<in out TSerializationAdapters, in out TDefaultSsr> {
    '~types': RouterConfigTypes<TSerializationAdapters, TDefaultSsr>;
    serializationAdapters: TSerializationAdapters;
    defaultSsr: TDefaultSsr | undefined;
}
export interface RouterConfigTypes<in out TSerializationAdapters, in out TDefaultSsr> {
    serializationAdapters: TSerializationAdapters;
    defaultSsr: TDefaultSsr;
}
export declare const createRouterConfig: <const TSerializationAdapters extends ReadonlyArray<AnySerializationAdapter> = [], TDefaultSsr extends SSROption = SSROption>(options: RouterConfigOptions<TSerializationAdapters, TDefaultSsr>) => RouterConfig<TSerializationAdapters, TDefaultSsr>;
export type AnyRouterConfig = RouterConfig<any, any>;
