import { z } from 'zod'; interface WidgetLocation { state?: any; key?: string; pathname: string; hash: string; search: string; } interface WidgetBlocker { state: 'blocked' | 'unblocked' | 'proceeding'; reset?: () => void; proceed?: () => void; location?: WidgetLocation; } declare enum WidgetAction { Pop = "POP", Push = "PUSH", Replace = "REPLACE" } declare type WidgetBlockerFunction = (args: { currentLocation: WidgetLocation; nextLocation: WidgetLocation; historyAction: WidgetAction; }) => boolean; interface WidgetHistory { location: WidgetLocation; push: (to: Partial | string) => void; replace: (to: Partial | string) => void; block?: (shouldBlock: boolean | WidgetBlockerFunction) => WidgetBlocker; } declare const SimplifiedWidgetRoutes: z.ZodObject<{ /** The path to news page. */ news: z.ZodDefault; /** The path to the store page. */ store: z.ZodDefault; /** The path to the account page. */ account: z.ZodDefault; /** The path to the order page. */ orders: z.ZodDefault; /** The path to the error pages. */ error: z.ZodDefault; /** The path to the twitch pages. */ twitchDrops: z.ZodDefault; /** The Path to Legal Pages */ legal: z.ZodDefault; }, "strip", z.ZodTypeAny, { error: string; legal: string; news: string; store: string; account: string; orders: string; twitchDrops: string; }, { news?: string | undefined; store?: string | undefined; account?: string | undefined; orders?: string | undefined; error?: string | undefined; twitchDrops?: string | undefined; legal?: string | undefined; }>; declare type SimplifiedWidgetRoutes = z.infer; declare type RouteObject = { link: string; makePath: (obj: { params?: Record; state?: any; query?: Record; }) => WidgetHistory['location'] | string; }; interface AllWidgetRoutesWithPathMaker { home: RouteObject; news: { index: RouteObject; detail: RouteObject; search: RouteObject; categories: RouteObject; admin: { articles: { index: RouteObject; create: RouteObject; edit: RouteObject<{ newsId: string; }>; }; featuredArticles: RouteObject; categories: { index: RouteObject; create: RouteObject; edit: RouteObject<{ categoryId: string; }>; }; }; }; linkAccount: RouteObject; linkAccountOneTimeCode: RouteObject; verifyUser: RouteObject; accountDeletionSuccess: RouteObject; paymentSuccessCallback: RouteObject; game: { index: RouteObject; detail: RouteObject<{ gameId: string; }>; }; support: { index: RouteObject; topic: { index: RouteObject; }; article: { index: RouteObject; }; manage: { article: { create: RouteObject; edit: RouteObject<{ slug: string; }>; index: RouteObject; }; topic: { create: RouteObject; edit: RouteObject; index: RouteObject; }; }; }; store: { index: RouteObject; apps: { index: RouteObject; detail: RouteObject<{ itemId: string; }>; }; dlcs: { index: RouteObject; detail: RouteObject<{ itemId: string; }>; }; bundles: { index: RouteObject; detail: RouteObject<{ itemId: string; }>; }; ingameitems: { index: RouteObject; detail: RouteObject<{ itemId: string; }>; }; codes: { index: RouteObject; detail: RouteObject; }; optionboxes: { index: RouteObject; detail: RouteObject<{ itemId: string; }>; }; }; orders: { detail: RouteObject<{ orderNo: string; }>; }; account: { index: RouteObject; overview: RouteObject; profile: RouteObject; accountHistory: { index: RouteObject; displayNameHistory: RouteObject; usernameHistory: RouteObject; passwordHistory: RouteObject; emailHistory: RouteObject; countryHistory: RouteObject; dateOfBirthHistory: RouteObject; }; paymentMethods: RouteObject; changeEmail: RouteObject; changePassword: RouteObject; linkedAccounts: RouteObject; purchasedItems: { index: RouteObject; games: RouteObject; keys: RouteObject; optionboxes: RouteObject; }; orderHistory: { index: RouteObject; detail: RouteObject<{ orderNo: string; }>; }; redeemCode: RouteObject; notificationPreferences: RouteObject; legalAgreements: RouteObject; personalData: RouteObject; accountDeletion: RouteObject; }; twitchDrops: { index: RouteObject; claim: RouteObject; }; legal: { index: RouteObject; withId: RouteObject<{ localizedPolicyId: string; }>; }; error: { index: RouteObject; err400: RouteObject; err401: RouteObject; err404: RouteObject; err500: RouteObject; network: RouteObject; sessionExpired: RouteObject; alreadyAuthenticated: RouteObject; invalidSSOAuthCode: RouteObject; }; } declare class RouteUtils { static createWidgetRoutes: (routes: Partial, langCode?: string | undefined) => AllWidgetRoutesWithPathMaker; } export { AllWidgetRoutesWithPathMaker as A, RouteUtils as R, SimplifiedWidgetRoutes as S, WidgetHistory as W, WidgetBlockerFunction as a };