import type { AgentCoreComponentProps } from '../base-props'; import type { AgentCoreRuntime } from './runtime/AgentCoreRuntime'; import { aws_iam as iam } from 'aws-cdk-lib'; import { Construct } from 'constructs'; export interface BasePrimitiveConstructProps extends AgentCoreComponentProps { /** * The name of this primitive resource. */ readonly name: string; /** * Optional description for the IAM execution role. */ readonly roleDescription?: string; /** * Optional existing execution role ARN. When provided, the construct uses * this role instead of creating a new one. Used during resource import. */ readonly executionRoleArn?: string; } /** * Abstract base class for AgentCore primitive CDK constructs. * Provides shared IAM role creation and grant helpers. */ export declare abstract class BasePrimitiveConstruct extends Construct { /** The IAM execution role for this primitive */ protected readonly role: iam.IRole; /** The physical name: ${projectName}_${name} */ protected readonly physicalName: string; constructor(scope: Construct, id: string, props: BasePrimitiveConstructProps); /** * Grant permissions to a runtime. Each primitive defines its own grant logic. */ abstract grant(runtime: AgentCoreRuntime): void; /** * Get the environment variable name for this primitive. */ abstract getEnvVarName(): string; /** * Get the environment variable value for this primitive. */ abstract getEnvVarValue(): string; /** * Grant specific actions on an ARN to a runtime. */ protected grantActions(runtime: AgentCoreRuntime, actions: string[], arn: string): void; /** * Grant specific actions with a condition key to a runtime. */ protected grantActionsWithCondition(runtime: AgentCoreRuntime, actions: string[], arn: string, conditionKey: string, values: string[]): void; } //# sourceMappingURL=BasePrimitiveConstruct.d.ts.map