export type CSSProperties = Record; type BlockBase = { id: string; style?: CSSProperties; title?: string; }; export interface Block extends BlockBase { type: "block"; } export interface ApplicationLinkButton extends BlockBase { target: "_blank" | "_self"; to: | string | { hash: string; pathname: string; search: string; state: unknown; }; type: "app"; } export interface ExternalLinkButton extends BlockBase { href: string; target: "_blank" | "_self"; type: "external"; } export type TemplateButton = | ExternalLinkButton | ApplicationLinkButton | Block;