///
import React from 'react';
import { generateWaysMetadata as generateWaysMetadataBase, getWaysHtmlAttrs as getWaysHtmlAttrsBase, WAYS_LOCALE_COOKIE_NAME } from './rsc';
import type { WaysProps, WaysRootProps } from '@18ways/react';
import type { WaysMaybePromise, WaysRouteParams, WaysServerRouteContext } from './next-route-params';
import type { WaysConfig } from './ways-config';
export { generateWaysMetadataBase as generateWaysMetadata, getWaysHtmlAttrsBase as getWaysHtmlAttrs, WAYS_LOCALE_COOKIE_NAME, };
export type { WaysProps, WaysRootProps };
export type { WaysDomainConfig } from './next-domains';
export type { WaysRouteParams, WaysServerRouteContext } from './next-route-params';
export type WaysRootComponentProps = {
children: React.ReactNode;
context?: WaysRootProps['context'];
params?: WaysMaybePromise;
};
export type WaysLocaleOptions = WaysServerRouteContext & {
locale?: string;
};
export type WaysHtmlAttrsOptions = WaysLocaleOptions;
export type WaysMetadataOptions = WaysLocaleOptions;
export type WaysMetadataTranslator = (text: string) => string;
export type WaysMetadataFactory = (t: WaysMetadataTranslator) => Record | Promise>;
export type WaysMetadataInput = Record | WaysMetadataFactory;
export type WaysRuntime = {
WaysRoot: (props: WaysRootComponentProps) => Promise;
htmlAttrs: (options?: WaysHtmlAttrsOptions) => Promise>;
generateWaysMetadata: (metadata?: WaysMetadataInput, options?: WaysMetadataOptions) => Promise>;
};
export declare const createWaysRuntime: (options: WaysConfig) => WaysRuntime;