import type { SettingsRedirect } from "./settings-redirects.js"; export { CORE_SETTINGS_PAGE_ID_LIST, describeSettingsViewForAgent, isCoreSettingsPageId, isSettingsSectionId, legacySettingsTabIdsForPage, normalizeSettingsId, resolveLegacySettingsId, resolveSettingsIdPattern, resolveSettingsSectionRedirect, SETTINGS_PAGE_IDS, SETTINGS_SECTION_ALIASES, SETTINGS_VIEW_STATE_KEY, type CoreSettingsPageId, type SettingsRedirect, type SettingsViewState, } from "./settings-redirects.js"; export declare const STANDARD_APP_ROUTES: { readonly home: "/"; readonly settings: "/settings"; readonly team: "/team"; }; export declare const STANDARD_SETTINGS_TABS: { readonly general: "general"; readonly agent: "agent"; readonly providers: "providers"; readonly connections: "connections"; readonly secrets: "secrets"; readonly mcp: "mcp"; readonly team: "organization"; readonly usage: "usage"; readonly language: "language"; readonly whatsNew: "whats-new"; }; export type StandardAppRouteId = keyof typeof STANDARD_APP_ROUTES; export type StandardSettingsTabId = (typeof STANDARD_SETTINGS_TABS)[keyof typeof STANDARD_SETTINGS_TABS]; export interface BuildStandardAppRouteOptions { settingsTab?: string | null; teamInSettings?: boolean; } export interface BuildSettingsRouteOptions { /** Defaults to `/settings`. */ basePath?: string; /** In-page target appended as the hash, for example a `SettingsRow` id. */ anchor?: string | null; } export interface BuildResourceRouteOptions { basePath?: string; } export interface NavigationTarget { app?: string; view: string; params?: Record; to?: string; } export interface NavigationLink extends NavigationTarget { label: string; url: string; } export type StandardOpenPathRoute = string | ((params: Record) => string | null | undefined); export interface StandardOpenPathResolverOptions { fallback?: StandardOpenPathRoute; } /** * A Settings URL. Pass a page id and an optional sub-page * (`buildSettingsRoute("integrations", "builder")` is * `/settings/integrations/builder`). Today's `a:b:c` tab ids still work * (`agent:resources:files` is `/settings/agent/resources/files`); the * redirect table maps them onto the new pages. * * The second argument used to be the base path; a value starting with "/" * is still read that way. Pass `{ basePath }` instead. */ export declare function buildSettingsRoute(page?: string | null, subOrBasePath?: string | null, options?: BuildSettingsRouteOptions): string; /** The URL a `SettingsRedirect` opens. */ export declare function buildSettingsRedirectRoute(redirect: SettingsRedirect): string; /** * The URL for a search entry in today's tabbed Settings: its tab, plus the * section it scrolls to when that isn't the tab itself. */ export declare function buildSettingsEntryRoute(tabId: string, section?: string): string; export declare function buildLegacyAgentSettingsRoute(hash?: string | null, search?: string): string; export declare function buildTeamRoute(options?: Pick): string; export declare function buildStandardAppRoute(route: StandardAppRouteId, options?: BuildStandardAppRouteOptions): string; export declare function buildResourceRoute(collection: string, resourceId: string, options?: BuildResourceRouteOptions): string; export declare function buildOpenRoutePath(input: NavigationTarget): string; export declare function buildOpenRouteLink(input: NavigationTarget & { label?: string; }): NavigationLink; export declare function createStandardOpenPathResolver(routes: Record, options?: StandardOpenPathResolverOptions): (input: { app?: string; view?: string; params: Record; }) => string | null | undefined;