import type { App } from '@heroku/types/3.sdk'; import type { ResourceCtx } from '../../../core/extend-resource.js'; import type { CreateAndSetupInput, CreateAndSetupOptions } from './create-and-setup.js'; import type { DiffAppsOptions } from './diff.js'; import type { DescribeAppOptions } from './info.js'; import type { TransferOptions } from './transfer.js'; import type { WaitForACMCertificatesOptions } from './wait-for-acm-certificates.js'; export { createAndSetup, type CreateAndSetupInput, type CreateAndSetupOptions, type SetupStep, } from './create-and-setup.js'; export { diffApps, type DiffAppsOptions, type DiffRow } from './diff.js'; export { type AppInfo, describeApp, type DescribeAppOptions, type PipelineCouplingDetail, } from './info.js'; export { transferApp, type TransferOptions } from './transfer.js'; export { waitForACMCertificates, type WaitForACMCertificatesOptions } from './wait-for-acm-certificates.js'; export type AppMaintenanceOptions = { signal?: AbortSignal; }; export type GenerationKind = 'cedar' | 'fir'; export type GetGenerationOptions = { signal?: AbortSignal; }; export type IsShieldedOptions = { signal?: AbortSignal; }; export type GetProcessTierOptions = { signal?: AbortSignal; }; export type ProcessTier = 'basic' | 'eco' | 'performance' | 'private' | 'shield' | 'standard' | (string & {}); export declare function enableMaintenance(ctx: Pick, appIdentity: string, options?: AppMaintenanceOptions): Promise; export declare function disableMaintenance(ctx: Pick, appIdentity: string, options?: AppMaintenanceOptions): Promise; /** * Look up the platform generation (`cedar` or `fir`) of an app. * * Issues `app.info` with the `version=3.sdk` Accept variant so the * response includes the `generation` field, then normalizes the * platform's strings to the `'cedar' | 'fir'` union. Returns * `undefined` if the platform reports an unrecognized value (e.g. a * future generation name we haven't taught the SDK about). */ export declare function getGeneration(ctx: Pick, appIdentity: string, options?: GetGenerationOptions): Promise; type AppInfoResult = App & { process_tier?: string; space?: null | { shield?: boolean; }; }; type AppInfoPlatform = { app: { info(appIdentity: string): Promise; }; withOptions(opts: { signal: AbortSignal; }): AppInfoPlatform; }; export declare function isShielded(ctx: { platform: AppInfoPlatform; }, appIdentity: string, options?: IsShieldedOptions): Promise; export declare function getProcessTier(ctx: { platform: AppInfoPlatform; }, appIdentity: string, options?: GetProcessTierOptions): Promise; export declare const appExtensions: import("../../../core/extend-resource.js").ResourceExtension<"platform", "app", { createAndSetup: (input: CreateAndSetupInput, options?: CreateAndSetupOptions) => Promise; describe: (appIdentity: string, options?: DescribeAppOptions) => Promise; diff: (app1: string, app2: string, options?: DiffAppsOptions) => Promise; disableMaintenance: (appIdentity: string, options?: AppMaintenanceOptions) => Promise; enableMaintenance: (appIdentity: string, options?: AppMaintenanceOptions) => Promise; getGeneration: (appIdentity: string, options?: GetGenerationOptions) => Promise; getProcessTier: (appIdentity: string, options?: GetProcessTierOptions) => Promise; isShielded: (appIdentity: string, options?: IsShieldedOptions) => Promise; transfer: (appIdentity: string, recipient: string, options?: TransferOptions) => Promise; waitForACMCertificates: (appIdentity: string, options?: WaitForACMCertificatesOptions) => Promise; }>;