///
import React from 'react';
import type { WaysProps, WaysRootProps } from '@18ways/react';
import { WAYS_LOCALE_COOKIE_NAME, WaysPathRoutingConfig } from '@18ways/core/i18n-shared';
import type { WaysPersistLocaleCookiePolicy } from './ways-config';
import { type WaysDomainConfig } from './next-domains';
import { type WaysMaybePromise, type WaysRouteParams } from './next-route-params';
import type { WaysRouteManifest, WaysRouterMode } from './ways-config';
type LocaleResolutionProps = Partial> & {
apiKey?: string;
pathRouting?: WaysPathRoutingConfig;
domains?: WaysDomainConfig[];
localeParamName?: string;
params?: WaysMaybePromise;
pathname?: string;
origin?: string;
};
export declare const getWaysLocale: (props?: LocaleResolutionProps) => Promise;
export declare const getWaysHtmlAttrs: (props?: Partial> & {
pathRouting?: WaysPathRoutingConfig;
domains?: WaysDomainConfig[];
localeParamName?: string;
params?: WaysMaybePromise;
origin?: string;
}) => Promise>;
type WaysMetadataOptions = Partial> & {
origin?: string;
pathRouting?: WaysPathRoutingConfig;
domains?: WaysDomainConfig[];
localeParamName?: string;
params?: WaysMaybePromise;
pathname?: string;
};
export declare const generateWaysMetadata: (props?: WaysMetadataOptions) => Promise>;
type WaysRscProps = WaysProps & {
router?: WaysRouterMode;
pathRouting?: WaysPathRoutingConfig;
_persistLocaleCookiePolicy?: WaysPersistLocaleCookiePolicy;
domains?: WaysDomainConfig[];
localeParamName?: string;
routeManifest?: WaysRouteManifest;
params?: WaysMaybePromise;
pathname?: string;
origin?: string;
};
export declare function Ways(props: WaysRscProps): Promise;
export type { WaysProps, WaysRootProps };
export { WAYS_LOCALE_COOKIE_NAME };