import { type OrganizationsClient } from "@aws-sdk/client-organizations"; import { type Result } from "@fjall/generator"; export interface EnablePolicyTypesOptions { /** * Override the wait between ListRoots polls while the just-enabled policy * types transition from PENDING_ENABLE to ENABLED. Tests pass 0 to skip the * sleep; production callers rely on the default. */ pollIntervalMs?: number; /** * Override the maximum time spent polling for ENABLED. Production callers * rely on the default; tests pass a small value to keep the suite fast. */ pollTimeoutMs?: number; /** * Optional shutdown signal — short-circuits the inter-poll sleep so SIGTERM * during a long-running setup orchestration does not wait the full * pollIntervalMs before exiting. */ abortSignal?: AbortSignal; } /** * Enable all required policy types on the organisation root and wait until each * propagates to ENABLED. EnablePolicyType can return synchronously while the * type is still PENDING_ENABLE; callers that immediately deploy CfnPolicy * resources of that type would otherwise race CFN's CreatePolicy and trip a * PolicyTypeNotEnabledException. Idempotent — skips types already ENABLED. */ export declare function enablePolicyTypes(client: OrganizationsClient, rootId: string, options?: EnablePolicyTypesOptions): Promise>;