import { SelectedChannel } from '@jetshop/core/components/ChannelContext/ChannelContext'; import { Channel } from '@jetshop/core/types'; import { RendererOptions } from '@jetshop/core/boot/server/createRenderer'; import { BootOptions, Routes } from '@jetshop/core/components/ConfigProvider'; import type { GetPrimaryRoutePath } from './redirectUtils'; export declare class ChannelHandler { selectedChannel?: SelectedChannel; recommendedChannel?: SelectedChannel; channels?: Channel[]; getPrimaryRoutePath?: GetPrimaryRoutePath; selectedChannelGroup?: Channel[] | undefined; constructor(args?: { selectedChannel?: SelectedChannel; recommendedChannel?: SelectedChannel; channels?: Channel[]; getPrimaryRoutePath?: GetPrimaryRoutePath; selectedChannelGroup?: Channel[] | undefined; }); setGetPrimaryRoutePath: (getPrimaryRoutePath: GetPrimaryRoutePath) => GetPrimaryRoutePath; getSelectedChannel: () => SelectedChannel; setSelectedChannel: (selectedChannel: SelectedChannel) => void; setRecommendedChannel: (recommendedChannel: SelectedChannel) => void; getRecommendedChannel: () => SelectedChannel; setChannels: (channels: Channel[]) => void; setChannelGroup: (channels: Channel[]) => void; getChannels: () => Channel[]; getChannelHeaders: () => { currency: string; channelid: number; culture: string; country: string; name: string; } | { currency?: undefined; channelid?: undefined; culture?: undefined; country?: undefined; name?: undefined; }; getChannelBasename: () => string; private getPreservedRedirect; getRedirectUrl: ({ newChannel, preserveRedirect, url, routes }: { newChannel: SelectedChannel; preserveRedirect?: boolean; url: string; routes?: Routes; }) => Promise; updateChannel: ({ config, ...args }: { newChannel: SelectedChannel; config: BootOptions | RendererOptions; }) => void; private getPathWithoutBasename; }