import { Ux } from '@salesforce/sf-plugins-core'; import shelljs from 'shelljs'; import { AsyncOptionalCreatable, Env } from '@salesforce/kit'; import { Package } from './package.js'; import { Registry } from './registry.js'; import { SigningResponse } from './codeSigning/SimplifiedSigning.js'; export type Access = 'public' | 'restricted'; type PublishOpts = { dryrun?: boolean; signatures?: SigningResponse[]; tag?: string; access?: Access; }; export type PackageInfo = { name: string; nextVersion: string; registryParam: string; }; type PollFunction = () => boolean; type RepositoryOptions = { ux: Ux; useprerelease?: string; }; declare abstract class Repository extends AsyncOptionalCreatable { protected options?: RepositoryOptions; protected ux: Ux; protected env: Env; protected registry: Registry; private stepCounter; constructor(options: RepositoryOptions | undefined); install(silent?: boolean): void; build(silent?: boolean): void; run(script: string, location?: string, silent?: boolean): void; test(): void; printStage(msg: string): void; writeNpmToken(): Promise; protected execCommand(cmd: string, silent?: boolean): shelljs.ShellString; protected poll(checkFn: PollFunction): Promise; abstract getSuccessMessage(): string; abstract getPkgInfo(packageNames?: string[]): PackageInfo | PackageInfo[]; abstract publish(options: PublishOpts): Promise; abstract sign(packageNames?: string[]): Promise; abstract waitForAvailability(): Promise; protected abstract init(): Promise; } export declare class PackageRepo extends Repository { name: string; nextVersion: string; package: Package; private logger; constructor(options: RepositoryOptions | undefined); sign(): Promise; revertChanges(): Promise; getPkgInfo(): PackageInfo; publish(opts?: PublishOpts): Promise; waitForAvailability(): Promise; getSuccessMessage(): string; protected init(): Promise; private determineNextVersion; } export {};