import { Command as $Command } from "@smithy/smithy-client"; import type { MetadataBearer as __MetadataBearer } from "@smithy/types"; import type { DescribeSnapshotCopyGrantsMessage, SnapshotCopyGrantMessage } from "../models/models_0"; import type { RedshiftClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../RedshiftClient"; /** * @public */ export type { __MetadataBearer }; export { $Command }; /** * @public * * The input for {@link DescribeSnapshotCopyGrantsCommand}. */ export interface DescribeSnapshotCopyGrantsCommandInput extends DescribeSnapshotCopyGrantsMessage { } /** * @public * * The output of {@link DescribeSnapshotCopyGrantsCommand}. */ export interface DescribeSnapshotCopyGrantsCommandOutput extends SnapshotCopyGrantMessage, __MetadataBearer { } declare const DescribeSnapshotCopyGrantsCommand_base: { new (input: DescribeSnapshotCopyGrantsCommandInput): import("@smithy/smithy-client").CommandImpl; new (...[input]: [] | [DescribeSnapshotCopyGrantsCommandInput]): import("@smithy/smithy-client").CommandImpl; getEndpointParameterInstructions(): import("@smithy/middleware-endpoint").EndpointParameterInstructions; }; /** *

Returns a list of snapshot copy grants owned by the Amazon Web Services account in the destination * region.

*

* For more information about managing snapshot copy grants, go to * Amazon Redshift Database Encryption * in the Amazon Redshift Cluster Management Guide. *

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript * import { RedshiftClient, DescribeSnapshotCopyGrantsCommand } from "@aws-sdk/client-redshift"; // ES Modules import * // const { RedshiftClient, DescribeSnapshotCopyGrantsCommand } = require("@aws-sdk/client-redshift"); // CommonJS import * // import type { RedshiftClientConfig } from "@aws-sdk/client-redshift"; * const config = {}; // type is RedshiftClientConfig * const client = new RedshiftClient(config); * const input = { // DescribeSnapshotCopyGrantsMessage * SnapshotCopyGrantName: "STRING_VALUE", * MaxRecords: Number("int"), * Marker: "STRING_VALUE", * TagKeys: [ // TagKeyList * "STRING_VALUE", * ], * TagValues: [ // TagValueList * "STRING_VALUE", * ], * }; * const command = new DescribeSnapshotCopyGrantsCommand(input); * const response = await client.send(command); * // { // SnapshotCopyGrantMessage * // Marker: "STRING_VALUE", * // SnapshotCopyGrants: [ // SnapshotCopyGrantList * // { // SnapshotCopyGrant * // SnapshotCopyGrantName: "STRING_VALUE", * // KmsKeyId: "STRING_VALUE", * // Tags: [ // TagList * // { // Tag * // Key: "STRING_VALUE", * // Value: "STRING_VALUE", * // }, * // ], * // }, * // ], * // }; * * ``` * * @param DescribeSnapshotCopyGrantsCommandInput - {@link DescribeSnapshotCopyGrantsCommandInput} * @returns {@link DescribeSnapshotCopyGrantsCommandOutput} * @see {@link DescribeSnapshotCopyGrantsCommandInput} for command's `input` shape. * @see {@link DescribeSnapshotCopyGrantsCommandOutput} for command's `response` shape. * @see {@link RedshiftClientResolvedConfig | config} for RedshiftClient's `config` shape. * * @throws {@link InvalidTagFault} (client fault) *

The tag is invalid.

* * @throws {@link SnapshotCopyGrantNotFoundFault} (client fault) *

The specified snapshot copy grant can't be found. Make sure that the name is typed * correctly and that the grant exists in the destination region.

* * @throws {@link RedshiftServiceException} *

Base exception class for all service exceptions from Redshift service.

* * * @public */ export declare class DescribeSnapshotCopyGrantsCommand extends DescribeSnapshotCopyGrantsCommand_base { /** @internal type navigation helper, not in runtime. */ protected static __types: { api: { input: DescribeSnapshotCopyGrantsMessage; output: SnapshotCopyGrantMessage; }; sdk: { input: DescribeSnapshotCopyGrantsCommandInput; output: DescribeSnapshotCopyGrantsCommandOutput; }; }; }