import type { ToolkitServices } from '../../../toolkit/private'; import type { IContextStore } from '../context-store'; import type { ICloudAssemblySource, IReadableCloudAssembly } from '../types'; export interface ContextAwareCloudAssemblyProps { /** * AWS object (used by contextprovider) * @deprecated context should be moved to the toolkit itself */ readonly services: ToolkitServices; /** * Location to read and write context */ readonly contextStore: IContextStore; /** * Enable context lookups. * * Producing a `cxapi.CloudAssembly` will fail if this is disabled and context lookups need to be performed. * * @default true */ readonly lookups?: boolean; } /** * A CloudAssemblySource that wraps another CloudAssemblySource and runs a lookup loop on it * * This means that if the underlying CloudAssemblySource produces a manifest * with provider queries in it, the `ContextAwareCloudAssemblySource` will * perform the necessary context lookups and invoke the underlying * `CloudAssemblySource` again with thew missing context information. * * This is only useful if the underlying `CloudAssemblySource` can respond to * this new context information (it must be a CDK app source); if it is just a * static directory, then the contents of the assembly won't change in response * to context. * * The context is passed between `ContextAwareCloudAssemblySource` and the wrapped * cloud assembly source via a contex file on disk, so the wrapped assembly source * should re-read the context file on every invocation. */ export declare class ContextAwareCloudAssemblySource implements ICloudAssemblySource { private readonly source; private readonly props; private canLookup; private context; private ioHelper; constructor(source: ICloudAssemblySource, props: ContextAwareCloudAssemblyProps); /** * Produce a Cloud Assembly, i.e. a set of stacks */ produce(): Promise; } //# sourceMappingURL=context-aware-source.d.ts.map