import type { SpawnOptionsWithoutStdio } from 'node:child_process'; import type { ShellProcess } from '../types/shell'; export interface SlackCLIGlobalOptions { /** * @description The API host the command should interact with, full domain name. (`--apihost qa1234.slack.com`) * Takes precendence over `qa` and `dev` options. * @example `qa1234.slack.com` or `dev2345.slack.com` */ apihost?: string; /** * @description Whether the command should interact with dev.slack (`--slackdev`) * `qa` and `apihost` will both supersede this option. */ dev?: boolean; /** @description Ignore warnings and continue executing command. Defaults to `true`. */ force?: boolean; /** * @description Application instance to target. Can be `local`, `deployed` or an app ID string. * Defaults to `deployed`. */ app?: 'local' | 'deployed' | string; /** * @description Whether the command should interact with qa.slack (`--apihost qa.slack.com`) * Takes precendence over `dev` option but is superseded by `apihost`. */ qa?: boolean; /** * @description Whether the CLI should skip updating (`--skip-update`). Defaults to `true`. */ skipUpdate?: boolean; /** * @description The ID of your team. If you are using a Standard Slack plan, this is your workspace ID. * If you are using an Enterprise Grid plan, this is the organization ID, even if your app is only granted to a * subset of workspaces within the org. */ team?: string; /** @description Access token to use when making Slack API calls. */ token?: string; /** @description Print debug logging and additional CLI information. */ verbose?: boolean; } export type SlackCLIHostTargetOptions = Pick; export type SlackCLICommandOptions = Record; export declare class SlackCLIProcess { /** * @description The CLI command to invoke */ command: string[]; /** * @description The global CLI options to pass to the command */ globalOptions: SlackCLIGlobalOptions | undefined; /** * @description The CLI command-specific options to pass to the command */ commandOptions: SlackCLICommandOptions | undefined; constructor(command: string[], globalOptions?: SlackCLIGlobalOptions, commandOptions?: SlackCLICommandOptions); /** * @description Executes the command asynchronously, returning the process details once the process finishes executing */ execAsync(shellOpts?: Partial): Promise; /** * @description Executes the command asynchronously, returning the process details once the process finishes executing */ execAsyncUntilOutputPresent(output: string, shellOpts?: Partial): Promise; /** * @description Executes the command synchronously, returning the process standard output */ execSync(shellOpts?: Partial): string; private assembleShellInvocation; } //# sourceMappingURL=cli-process.d.ts.map