import * as Effect from "effect/Effect"; import { Region } from "../Region.ts"; import type { ReportDefinition } from "./ReportDefinition.ts"; /** * Build the impl Effect for an account-level CUR operation. * `cur:DescribeReportDefinitions` enumerates every report definition in the * account, so the grant is on `Resource: ["*"]`. */ export declare const makeCurHttpBinding: (options: { /** * Short capability name used in the binding sid and runtime span, e.g. * `"DescribeReportDefinitions"`. */ capability: string; /** IAM actions granted on `Resource: ["*"]`. */ iamActions: readonly string[]; /** The distilled operation implementing the capability. */ operation: Effect.Effect<(input: I) => Effect.Effect, never, R>; }) => Effect.Effect<() => Effect.Effect<(request?: I | undefined) => Effect.Effect, never, never>, never, Exclude>; /** * Build the impl Effect for an operation scoped to one * {@link ReportDefinition}. The runtime callable injects the bound report's * name as the request's `ReportName`; the deploy-time half grants * `iamActions` on the report definition's ARN * (`arn:aws:cur:us-east-1:{account}:definition/{name}`). */ export declare const makeReportDefinitionHttpBinding: (options: { /** * Short capability name used in the binding sid and runtime span, e.g. * `"ListTagsForResource"`. */ capability: string; /** IAM actions granted on the report definition's ARN. */ iamActions: readonly string[]; /** The distilled operation; `ReportName` is injected. */ operation: Effect.Effect<(input: I) => Effect.Effect, never, R>; }) => Effect.Effect<(report: ReportDefinition) => Effect.Effect<(request?: Omit | undefined) => Effect.Effect, never, never>, never, Exclude>; //# sourceMappingURL=BindingHttp.d.ts.map