import type { ThisComputerErrorCode, ThisComputerPermissionId, ThisComputerPlatform } from "@opengeni/sdk/this-computer"; import { type OpenGeniText } from "../../messages/runtime.js"; /** Words for one permission step, as the person meets it. */ export interface ThisComputerPermissionLabels { /** The step's title, e.g. "Let Acme see the screen". */ title: string; /** Why it is needed, in one plain sentence. */ why: string; /** The list in System Settings where the app's switch is. */ listName: string; } /** * Every word the "Use this computer" screens show. Pass your own to translate * them or to name your agent ("Ada can…"); start from * `defaultThisComputerLabels` and override what differs. */ export interface ThisComputerLabels { /** The offer's and the setup's title, e.g. "Use this computer". */ title: string; /** One line under the offer. */ offer(machineName: string): string; offerAction: string; notNow: string; /** The setup's opening line. */ intro(machineName: string): string; /** What agents can do, one short line each. */ abilities: readonly string[]; /** Who can use it and how to stop it. */ safety(platform: ThisComputerPlatform): string; turnOn: string; /** While the agent downloads and connects. */ settingUp(machineName: string): string; settingUpDetail: string; /** The permissions part, before the first step. */ permissionsTitle: string; permissionsIntro(productName: string): string; permission(id: ThisComputerPermissionId, productName: string): ThisComputerPermissionLabels; /** "Step 1 of 3". */ stepOf(step: number, total: number): string; openSettings: string; openSettingsAgain: string; /** * While the person is in System Settings. `openSettings` is the button on * the system's own question, as the system names it. */ waitingForSwitch(productName: string, openSettings: string): string; /** The switch was turned on. */ allowed: string; /** Under the pictured row: what may follow the switch. */ passwordHint: string; /** * macOS may offer to quit the app for the change; it needn't. `later` is the * offer's button that keeps it running, as the system names it. */ quitHint(productName: string, later: string): string; /** The files step's button, before macOS asks. */ askFolders: string; /** While macOS asks about each folder. `allow` is its button, as macOS names it. */ waitingForFolders(allow: string): string; /** A folder was refused, so its switch in System Settings is the way. */ foldersRefused(productName: string): string; doneTitle: string; done(machineName: string, platform: ThisComputerPlatform): string; /** A first thing to try, or "" for none. */ tryThis: string; close: string; later: string; /** Status lines. */ ready(machineName: string): string; /** Connected, while the app starts its agent again. */ reconnecting(machineName: string): string; paused(machineName: string): string; resume: string; pause: string; turnOff: string; turningOff: string; /** Before turning off: what stops. */ turnOffConfirm(machineName: string): string; cancel: string; /** Under the settings control while it's on. */ pauseHint(platform: ThisComputerPlatform): string; /** In its place while it's paused. */ resumeHint(platform: ThisComputerPlatform): string; finishSetup: string; finishSetupDetail: string; resuming: string; tryAgain: string; error(code: ThisComputerErrorCode | null, detail: string | null): string; /** Where the app's menu bar item lives, for "pause it from the …". */ trayName(platform: ThisComputerPlatform): string; /** The conversation card's words. */ card: { name: string; subtitle: string; typeLabel: string; /** The person's own computer can be used now. */ canUse(machineName: string): string; /** Their computer is connected but not on or not running now. */ offline(machineName: string, productName: string): string; /** No computer of theirs yet, and this isn't the desktop app. */ getApp(productName: string): string; getAppAction(productName: string): string; note: string; }; } /** * The words, from the message catalog (`thisComputer.*` keys), so a host * translates them with the rest of its text. `t` is the catalog's text * function (`useOpenGeniText()`); English without one. */ export declare function defaultThisComputerLabels(t?: OpenGeniText): ThisComputerLabels;