export type Command = {
title: string;
src: string;
icon?: string;
patterns?: string[];
params?: Record<string, any>;
};
export type Action = {
type: "push";
page: Page;
} | {
type: "open";
url: string;
replace?: true;
} | {
type: "copy";
text: string;
};
export type Page = List;
export type List = {
type: "list";
items: ListItem[];
};
export type ListItem = {
title: string;
subtitle: string;
icon?: string;
};
export type BrowserContext<T extends Record<string, JsonValue> = Record<string, any>> = {
url: string;
params: T;
};