import type { Formation } from '@heroku/types/3.sdk'; import type { StickyRouteOptions } from '../../../core/create-client.js'; import type { ResourceCtx } from '../../../core/extend-resource.js'; import { type ExchangeExecCredentialsOptions, type ExecOptions, type ExecStatusOptions, type RestartForExecOptions } from './exec.js'; import { type ListExtendedOptions } from './list-extended.js'; import { type RunDynoOptions } from './run.js'; import { type WaitForInfoOptions } from './wait-for-info.js'; import { type WaitForReleaseOptions } from './wait-for-release.js'; export { DynoCrashedError, enableExec, exchangeExecCredentials, type ExchangeExecCredentialsOptions, type ExecCredentials, type ExecOptions, type ExecPrereqs, execPrereqs, type ExecReservation, execStatus, type ExecStatusOptions, restartForExec, type RestartForExecOptions, } from './exec.js'; export { type DynoExtended, type DynoExtendedFields, listExtended, type ListExtendedOptions, } from './list-extended.js'; export { runDyno, type RunDynoOptions } from './run.js'; export { DynoNotReadyError, type DynoState, waitForInfo, type WaitForInfoOptions, } from './wait-for-info.js'; export { waitForRelease, type WaitForReleaseOptions, type WaitForReleaseProgress, type WaitForReleaseResult, } from './wait-for-release.js'; export type DynoOptions = { signal?: AbortSignal; }; export type ScaleDynosUpdate = { dyno_size?: { id?: string; name?: string; }; quantity?: number | string; size?: string; type: string; }; export type RestartDynosTarget = { dyno: string; } | { type: string; }; type FormationClient = { batchUpdate(appIdentity: string, body: { updates: ScaleDynosUpdate[]; }): Promise; update(appIdentity: string, type: string, body: Omit): Promise; }; type ScalePlatform = { formation: FormationClient; withOptions(opts: StickyRouteOptions): ScalePlatform; }; export declare function scaleDynos(ctx: { platform: ScalePlatform; }, appIdentity: string, updates: ScaleDynosUpdate, options?: DynoOptions): Promise; export declare function scaleDynos(ctx: { platform: ScalePlatform; }, appIdentity: string, updates: ScaleDynosUpdate[], options?: DynoOptions): Promise; export declare function restartDynos(ctx: Pick, appIdentity: string, target?: RestartDynosTarget, options?: DynoOptions): Promise; export declare const dynoExtensions: import("../../../core/extend-resource.js").ResourceExtension<"platform", "dyno", { enableExec: (appIdentity: string, options?: ExecOptions) => Promise; exchangeExecCredentials: (appIdentity: string, options: ExchangeExecCredentialsOptions) => Promise; execPrereqs: (appIdentity: string, options?: ExecOptions) => Promise; execStatus: (appIdentity: string, options: ExecStatusOptions) => Promise; listExtended: (appIdentity: string, options?: ListExtendedOptions) => Promise; restart: (appIdentity: string, target?: RestartDynosTarget, options?: DynoOptions) => Promise; restartForExec: (appIdentity: string, dynoIdentity: string, options?: RestartForExecOptions) => Promise; run: (appIdentity: string, command: string, options?: RunDynoOptions) => Promise; scale: { (appIdentity: string, updates: ScaleDynosUpdate, options?: DynoOptions): Promise; (appIdentity: string, updates: ScaleDynosUpdate[], options?: DynoOptions): Promise; }; waitForInfo: (appIdentity: string, dynoIdentity: string, options?: WaitForInfoOptions) => Promise; waitForRelease: (appIdentity: string, options?: WaitForReleaseOptions) => Promise; }>;