import type { ArtifactAccountBinding, ArtifactGeneration } from '../common/artifactGeneration'; import type { Recommendation } from '../azure/recommendations'; import type { ServiceRetirementPortalResource } from '../azure/serviceRetirement'; import type { AzureDashboardView, AzureResourcePluginItemDetailed, AzureResourcePortalItem, AzureResourcesView } from '../azure/views'; import type { AwsForbiddenCredentialFields } from './requests'; export declare const AWS_PUBLIC_ARTIFACT_SCHEMA_VERSION: 1; export declare const AWS_PUBLIC_ARTIFACT_TYPES: readonly ["resource-collection", "resource-collection-history", "account-summary", "account-summary-history", "account-summary-ai-cost-summary", "commitments-planning", "relationships", "lifecycle", "plugin-subscription", "plugin-resource"]; export type AwsPublicArtifactSchemaVersion = typeof AWS_PUBLIC_ARTIFACT_SCHEMA_VERSION; export type AwsPublicArtifactType = (typeof AWS_PUBLIC_ARTIFACT_TYPES)[number]; /** Public artifacts must not expose setup values or credential-store locators. */ export type AwsPublicArtifactForbiddenCredentialFields = AwsForbiddenCredentialFields & { externalId?: never; roleArn?: never; secretArn?: never; secretReference?: never; }; export type AwsPublicArtifactEnvelope = ArtifactAccountBinding<'aws', AccountId> & AwsPublicArtifactForbiddenCredentialFields & { schemaVersion: AwsPublicArtifactSchemaVersion; artifactType: ArtifactType; artifactGeneration: ArtifactGeneration; }; export type AwsPublicAccountReference = ArtifactAccountBinding<'aws', AccountId> & AwsPublicArtifactForbiddenCredentialFields & { companyId?: string; displayName: string; }; export type AwsPortalAccountSummaryBody = Pick & { account: AwsPublicAccountReference; }; export type AwsPortalAccountSummaryArtifact = AwsPublicArtifactEnvelope<'account-summary', AccountId, RunId> & AwsPortalAccountSummaryBody; export type AwsPortalResourceItem = Omit & ArtifactAccountBinding<'aws', AccountId> & AwsPublicArtifactForbiddenCredentialFields & { arn?: string; region: string; location: string; }; export type AwsPortalResourceCollectionArtifact = AwsPublicArtifactEnvelope<'resource-collection', AccountId, RunId> & Omit & { account: AwsPublicAccountReference; resources: AwsPortalResourceItem[]; }; export type { AwsPortalRelationshipArtifact, AwsPortalRelationshipArtifactV1, AwsPortalRelationshipEdge, AwsPortalRelationshipEdgeEvidence, AwsPortalRelationshipEdgeKind, AwsPortalRelationshipNode, AwsPortalRelationshipNodeData, AwsPortalRelationshipNodeKind, AwsPortalRelationshipArtifactV2, AwsPortalRelationshipLegacyArtifact, AwsPortalRelationshipLegacyNode, AwsPortalRelationshipLegacyNodeData, } from './portalRelationshipPublicArtifacts'; export type AwsPortalLifecycleResource = ServiceRetirementPortalResource & ArtifactAccountBinding<'aws', AccountId> & AwsPublicArtifactForbiddenCredentialFields & { arn?: string; region?: string; }; export type AwsPortalLifecycleClass = 'service-retirement' | 'credential-expiry' | 'commitment-expiry'; export type AwsPortalLifecycleSeverity = 'information' | 'warning' | 'critical'; export type AwsPortalLifecycleEntry = AwsPublicArtifactForbiddenCredentialFields & { id: string; lifecycleClass: AwsPortalLifecycleClass; title: string; summary?: string; effectiveAt: string; severity: AwsPortalLifecycleSeverity; resources: AwsPortalLifecycleResource[]; }; export type AwsPortalLifecycleArtifact = AwsPublicArtifactEnvelope<'lifecycle', AccountId, RunId> & { generatedAt: string; entries: AwsPortalLifecycleEntry[]; }; export type AwsPublicRecommendation = Pick & AwsPublicArtifactForbiddenCredentialFields & { resources?: never; securityImpactDetails?: never; linkingIds?: never; renderData?: never; action?: never; }; /** @deprecated Use AwsPluginSubscriptionDetailArtifact for lossless plugin publication. */ export type AwsPluginSubscriptionArtifact = AwsPublicArtifactEnvelope<'plugin-subscription', AccountId, RunId> & AwsPortalAccountSummaryBody; /** @deprecated Use AwsPluginResourceDetailArtifact for lossless plugin publication. */ export type AwsPluginResourceArtifact = AwsPublicArtifactEnvelope<'plugin-resource', AccountId, RunId> & Omit & { arn?: string; region: string; resourceGroup?: never; properties?: never; recommendations?: AwsPublicRecommendation[]; }; //# sourceMappingURL=publicArtifacts.d.ts.map