import * as pulumi from "@pulumi/pulumi";
/**
 * The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*.
 */
export declare function getTopicPolicy(args: GetTopicPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetTopicPolicyResult>;
export interface GetTopicPolicyArgs {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    id: string;
}
export interface GetTopicPolicyResult {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    readonly id?: string;
    /**
     * A policy document that contains permissions to add to the specified SNS topics.
     *
     * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::SNS::TopicPolicy` for more information about the expected schema for this property.
     */
    readonly policyDocument?: any;
    /**
     * The Amazon Resource Names (ARN) of the topics to which you want to add the policy. You can use the ``Ref`` function to specify an ``AWS::SNS::Topic`` resource.
     */
    readonly topics?: string[];
}
/**
 * The ``AWS::SNS::TopicPolicy`` resource associates SNS topics with a policy. For an example snippet, see [Declaring an policy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/quickref-iam.html#scenario-sns-policy) in the *User Guide*.
 */
export declare function getTopicPolicyOutput(args: GetTopicPolicyOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTopicPolicyResult>;
export interface GetTopicPolicyOutputArgs {
    /**
     * The provider-assigned unique ID for this managed resource.
     */
    id: pulumi.Input<string>;
}
