import type * as quicksight from "@distilled.cloud/aws/quicksight"; import type * as Effect from "effect/Effect"; import * as Binding from "../../Binding.ts"; import type { Dashboard } from "./Dashboard.ts"; /** * Runtime binding for `quicksight:DescribeDashboardSnapshotJob`. * * Reads the status (`QUEUED`, `RUNNING`, `COMPLETED`, `FAILED`) and * configuration of a snapshot job started on the bound {@link Dashboard}. * `AwsAccountId` and `DashboardId` are injected from the binding. Provide the * implementation with * `Effect.provide(AWS.QuickSight.DescribeDashboardSnapshotJobHttp)`. * ### Dashboard Snapshots * **Example:** Poll A Snapshot Job Until It Completes * ```typescript * // init — bind the operation to the dashboard * const describeSnapshotJob = * yield* AWS.QuickSight.DescribeDashboardSnapshotJob(dashboard); * * // runtime * const job = yield* describeSnapshotJob({ SnapshotJobId: jobId }).pipe( * Effect.repeat({ * schedule: Schedule.spaced("5 seconds"), * until: (j) => j.JobStatus === "COMPLETED" || j.JobStatus === "FAILED", * times: 24, * }), * ); * ``` * * @binding */ export interface DescribeDashboardSnapshotJob extends Binding.Service Effect.Effect<(request: Omit) => Effect.Effect>> { } export declare const DescribeDashboardSnapshotJob: DescribeDashboardSnapshotJob; //# sourceMappingURL=DescribeDashboardSnapshotJob.d.ts.map