/** * Provides comprehensive commands for the complete applet development lifecycle including * project generation, development, building, testing, uploading, and deployment to signageOS devices. * * @group Development:100 * * @subcommands * - `generate` - Create a new applet project with boilerplate code * - `start` - Start local development server with hot reload * - `build` - Build applet for production deployment * - `upload` - Upload applet to signageOS platform * - `test` - Run and upload applet tests * * @example * ```bash * # Create new applet project * sos applet generate --name my-applet * * # Start development server * sos applet start * * # Build for production * sos applet build * * # Upload to platform * sos applet upload * ``` * * @see {@link https://developers.signageos.io/docs/applets/ Applet Documentation} * * @since 0.1.0 */ export declare const applet: { name: "applet"; description: string; optionList: never[]; commands: ({ name: "generate"; description: string; optionList: ({ name: string; type: StringConstructor; description: string; defaultValue?: undefined; } | { name: string; type: StringConstructor; description: string; defaultValue: string; })[]; commands: never[]; run(options: import("../Command/commandDefinition").CommandLineOptions<({ name: string; type: StringConstructor; description: string; defaultValue?: undefined; } | { name: string; type: StringConstructor; description: string; defaultValue: string; })[]>): Promise; } | { name: "upload"; description: string; optionList: readonly [{ readonly name: "applet-path"; readonly type: StringConstructor; readonly description: "Path to the applet file or the project folder depending on the entry file. Relative to the command or absolute."; }, { readonly name: "entry-file-path"; readonly type: StringConstructor; readonly description: "Path to the applet entry file. Relative to the command or absolute."; }, { readonly name: "no-default-organization"; readonly type: BooleanConstructor; readonly description: "Prevent using the defaultOrganizationUid from ~/.sosrc"; }, { readonly name: "organization-uid"; readonly type: StringConstructor; readonly description: "Organization UID"; }, { readonly name: "applet-uid"; readonly type: StringConstructor; readonly description: "Applet UID"; }, { readonly name: "update-package-config"; readonly type: BooleanConstructor; readonly description: string; }, { readonly name: "yes"; readonly type: BooleanConstructor; readonly description: "Allow to upload new applet or override existing version without confirmation step"; }, { readonly name: "verbose"; readonly type: BooleanConstructor; readonly description: "Outputs all files to upload"; }]; commands: never[]; run(options: import("../Command/commandDefinition").CommandLineOptions): Promise; } | { name: "start"; description: string; optionList: readonly [{ readonly name: "no-default-organization"; readonly type: BooleanConstructor; readonly description: "Prevent using the defaultOrganizationUid from ~/.sosrc"; }, { readonly name: "organization-uid"; readonly type: StringConstructor; readonly description: "Organization UID"; }, { readonly name: "port"; readonly type: NumberConstructor; readonly description: "Port where will the applet run"; readonly defaultValue: 8090; }, { readonly name: "applet-path"; readonly type: StringConstructor; readonly description: "Path to the applet file or the project folder depending on the entry file. Relative to the command or absolute."; }, { readonly name: "entry-file-path"; readonly type: StringConstructor; readonly description: "Path to the applet entry file. Relative to the command or absolute."; }, { readonly name: "hot-reload"; readonly type: BooleanConstructor; readonly description: "Enable hot reload and build of applet"; readonly defaultValue: false; }, { readonly name: "server-port"; readonly type: NumberConstructor; readonly description: "The custom server port for local machine server. Default is detected from currently running applet server."; }, { readonly name: "server-public-url"; readonly type: StringConstructor; readonly description: "Public url of local machine server. Is useful when the local machine is behind a reverse proxy."; }, { readonly name: "force"; readonly type: BooleanConstructor; readonly description: "Force start applet server even if it is already running on a different port. Kill the running server first."; }, { readonly name: "detach"; readonly type: BooleanConstructor; readonly description: "Detach the applet HTTP server process from the terminal. Useful when want to run more commands reusing the same http server for current applet."; readonly defaultValue: false; }, { readonly name: "forward-server-url"; readonly type: StringConstructor; readonly description: "Url of forward server to connect to the device instead of the local network (LAN)."; readonly defaultValue: string | undefined; }]; commands: never[]; run(options: import("../Command/commandDefinition").CommandLineOptions): Promise; } | { name: "test"; description: string; optionList: never[]; commands: ({ name: "run"; description: string; optionList: readonly [{ readonly name: "no-default-organization"; readonly type: BooleanConstructor; readonly description: "Prevent using the defaultOrganizationUid from ~/.sosrc"; }, { readonly name: "device-uid"; readonly type: StringConstructor; readonly description: "Device UID"; }, { readonly name: "organization-uid"; readonly type: StringConstructor; readonly description: "Organization UID"; }, { readonly name: "applet-uid"; readonly type: StringConstructor; readonly description: "Applet UID"; }, { readonly name: "test"; readonly type: StringConstructor; readonly multiple: true; readonly description: "Specify the test identifiers/files to be run. If not specified, all will be run."; }, { readonly name: "yes"; readonly type: BooleanConstructor; readonly description: "Allow to run applet test without confirmation step"; }]; commands: never[]; run(options: import("../Command/commandDefinition").CommandLineOptions): Promise; } | { name: "upload"; description: string; optionList: readonly [{ readonly name: "no-default-organization"; readonly type: BooleanConstructor; readonly description: "Prevent using the defaultOrganizationUid from ~/.sosrc"; }, { readonly name: "organization-uid"; readonly type: StringConstructor; readonly description: "Organization UID"; }, { readonly name: "applet-uid"; readonly type: StringConstructor; readonly description: "Applet UID"; }, { readonly name: "yes"; readonly type: BooleanConstructor; readonly description: "Allow to upload new applet test or override existing test without confirmation step"; }, { readonly name: "verbose"; readonly type: BooleanConstructor; readonly description: "Outputs all files to upload"; }]; commands: never[]; run(options: import("../Command/commandDefinition").CommandLineOptions): Promise; })[]; run(): Promise; } | { name: "build"; description: string; optionList: readonly [{ readonly name: "no-default-organization"; readonly type: BooleanConstructor; readonly description: "Prevent using the defaultOrganizationUid from ~/.sosrc"; }, { readonly name: "organization-uid"; readonly type: StringConstructor; readonly description: "Organization UID"; }, { readonly name: "applet-uid"; readonly type: StringConstructor; readonly description: "Applet UID"; }]; commands: never[]; run(options: import("../Command/commandDefinition").CommandLineOptions): Promise; })[]; run(): Promise; };