alinea
Version:
Headless git-based CMS
39 lines (38 loc) • 1.94 kB
TypeScript
import { type EntryLocation } from '../DashboardNav.js';
export declare const workspaceAtom: import("jotai").Atom<{
label: string;
color: string;
roots: import("alinea/core/Workspace").RootsDefinition;
source: string;
mediaDir?: string;
icon?: import("react").ComponentType;
preview?: import("alinea/core/Preview.js").Preview;
name: string;
}>;
export declare const rootAtom: import("jotai").Atom<{
label: string;
contains?: Array<string | import("alinea").Type>;
orderChildrenBy?: import("alinea/core/OrderBy.js").OrderBy | Array<import("alinea/core/OrderBy.js").OrderBy>;
icon?: import("react").ComponentType;
i18n?: import("alinea/core/Root").RootI18n;
view?: import("alinea/core/View.js").View<{
root: import("alinea/core/Root").RootData;
}>;
isMediaRoot?: boolean;
preview?: import("alinea/core/Preview.js").Preview;
name: string;
}>;
export declare const preferredLanguageAtom: import("jotai").WritableAtom<string | null, [string | typeof import("jotai/utils").RESET | ((prev: string | null) => string | typeof import("jotai/utils").RESET | null) | null], void>;
export declare const localeAtom: import("jotai").Atom<string | null>;
export declare const entryLocationAtom: import("jotai").Atom<EntryLocation>;
export declare const navAtom: import("jotai").Atom<{
matchEntry: "/entry/*";
matchEntryId: "/:action/:workspace/:root?/:id?";
matchWorkspace: "/:action/:workspace";
matchRoot: "/:action/:workspace/:root";
root: ({ id, ...location }: EntryLocation) => string;
entry: (location: EntryLocation) => string;
draft: (location: EntryLocation) => string;
create: (location: EntryLocation) => string;
}>;
export declare const usePreferredLanguage: () => [string | null, (args_0: string | typeof import("jotai/utils").RESET | ((prev: string | null) => string | typeof import("jotai/utils").RESET | null) | null) => void];