import ChangelogUploadCommand from './commands/changelog/upload.js';
import ChangelogsCommand from './commands/changelogs.js';
import CustomPagesUploadCommand from './commands/custompages/upload.js';
import DocsExportCommand from './commands/docs/export.js';
import DocsMigrateCommand from './commands/docs/migrate.js';
import DocsUploadCommand from './commands/docs/upload.js';
import LoginCommand from './commands/login.js';
import LogoutCommand from './commands/logout.js';
import OpenAPIConvertCommand from './commands/openapi/convert.js';
import OpenAPIInspectCommand from './commands/openapi/inspect.js';
import OpenAPIReduceCommand from './commands/openapi/reduce.js';
import OpenAPIResolveCommand from './commands/openapi/resolve.js';
import OpenAPIUploadCommand from './commands/openapi/upload.js';
import OpenAPIValidateCommand from './commands/openapi/validate.js';
import RageCommand from './commands/rage.js';
import ReferenceExportCommand from './commands/reference/export.js';
import RefUploadCommand from './commands/reference/upload.js';
import WhoAmICommand from './commands/whoami.js';
export { default as createGHA } from './lib/hooks/createGHA.js';
export { default as prerun } from './lib/hooks/prerun.js';
/**
 * All the commands available in the CLI. We use the `explicit` command discovery strategy
 * so we can properly bundle the CLI for usage in GitHub Actions.
 *
 * Also, we use colon separators for subcommands below. This ensures that users can use both colons
 * and spaces when running subcommands. The documentation will always show spaces, but colons are
 * also supported.
 *
 * @see {@link https://oclif.io/docs/command_discovery_strategies/#explicit-strategy}
 */
export declare const COMMANDS: {
    readonly 'changelog:upload': typeof ChangelogUploadCommand;
    /**
     * @deprecated
     */
    readonly changelogs: typeof ChangelogsCommand;
    readonly 'custompages:upload': typeof CustomPagesUploadCommand;
    readonly 'docs:export': typeof DocsExportCommand;
    readonly 'docs:migrate': typeof DocsMigrateCommand;
    readonly 'docs:upload': typeof DocsUploadCommand;
    readonly login: typeof LoginCommand;
    readonly logout: typeof LogoutCommand;
    readonly 'openapi:convert': typeof OpenAPIConvertCommand;
    readonly 'openapi:inspect': typeof OpenAPIInspectCommand;
    readonly 'openapi:reduce': typeof OpenAPIReduceCommand;
    readonly 'openapi:resolve': typeof OpenAPIResolveCommand;
    readonly 'openapi:upload': typeof OpenAPIUploadCommand;
    readonly 'openapi:validate': typeof OpenAPIValidateCommand;
    readonly rage: typeof RageCommand;
    readonly 'reference:export': typeof ReferenceExportCommand;
    readonly 'reference:upload': typeof RefUploadCommand;
    readonly whoami: typeof WhoAmICommand;
};
export type CommandClass = (typeof COMMANDS)[keyof typeof COMMANDS];
/**
 * A type-safe way to get the command IDs in the CLI for a specific topic.
 *
 * @example type OpenAPIAction = CommandIdForTopic<'openapi'>;
 */
export type CommandIdForTopic<T extends 'openapi', U extends keyof typeof COMMANDS = keyof typeof COMMANDS> = U extends `${T}:${infer Suffix}` ? `${Suffix}` : never;
/**
 * Commands that leverage the APIv2 representations for uploading pages
 * (e.g., Guides, API Reference, etc.).
 *
 * Right now this is only the `docs upload` command, but in the future, we'll be adding
 * support for the API Reference and other page types.
 *
 * Note that the `changelogs` command is not included here
 * because it is backed by APIv1.
 */
export type APIv2PageUploadCommands = ChangelogUploadCommand | CustomPagesUploadCommand | DocsUploadCommand | RefUploadCommand;
/**
 * Commands that leverage the APIv2 representations for exporting pages (e.g., Guides, API
 * Reference, etc.).
 *
 */
export type APIv2PageExportCommands = DocsExportCommand | ReferenceExportCommand;
/**
 * Commands that leverage the APIv2 representations for interfacing with pages
 * (e.g., Guides, API Reference, etc.).
 *
 * These commands can do more than just upload pages, but they are all backed by the APIv2 representations.
 */
export type APIv2PageCommands = APIv2PageUploadCommands | DocsMigrateCommand;
/**
 * Every command that deals with OpenAPI definitions.
 */
export type OpenAPICommands = OpenAPIConvertCommand | OpenAPIInspectCommand | OpenAPIReduceCommand | OpenAPIResolveCommand | OpenAPIUploadCommand | OpenAPIValidateCommand;
