/** * Augmentation target for types generated from this app's own code. The Attio CLI writes * `.attio/register.d.ts` into the app, augmenting this interface with the app's page * slugs (`appPageSlugs`) and record tab ids (`recordTabIds`) so that `AppPageSlug` and * `OwnRecordTabId` narrow from `string` to the app's actual values. */ export interface Register { } /** * The slug of one of this app's full pages, as declared by its folder under * `src/app/pages/`. Narrowed to the app's actual page slugs once the Attio CLI has * generated `.attio/register.d.ts`; any string before then. */ export type AppPageSlug = Register extends { appPageSlugs: infer TSlug extends string; } ? TSlug : string & {}; /** * The id of one of this app's record tab extensions. Narrowed to the app's actual record * tab ids once the Attio CLI has generated `.attio/register.d.ts`; any string before * then. */ export type OwnRecordTabId = Register extends { recordTabIds: infer TId extends string; } ? TId : string & {}; /** * The slugs of the record page tabs built into Attio. Not every tab exists on every * object, and workspaces can hide tabs; a destination pointing at a missing tab falls * back to the record's overview tab. */ export type NativeRecordTabSlug = "overview" | "activity" | "calls" | "notes" | "tasks" | "emails" | "files" | "team" | "company" | "companies" | "associated_people" | "associated_users"; /** * A record page tab a destination can point at: a built-in tab, one of this app's record * tab ids, or the slug of a workspace-defined tab such as a relationship tab. */ export type RecordTab = NativeRecordTabSlug | OwnRecordTabId | (string & {}); //# sourceMappingURL=register.d.ts.map