import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Definition of AWS::RedshiftServerless::Namespace Resource Type
 */
export declare function getNamespace(args: GetNamespaceArgs, opts?: pulumi.InvokeOptions): Promise<GetNamespaceResult>;
export interface GetNamespaceArgs {
    /**
     * A unique identifier for the namespace. You use this identifier to refer to the namespace for any subsequent namespace operations such as deleting or modifying. All alphabetical characters must be lower case. Namespace name should be unique for all namespaces within an AWS account.
     */
    namespaceName: string;
}
export interface GetNamespaceResult {
    /**
     * The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret. You can only use this parameter if manageAdminPassword is true.
     */
    readonly adminPasswordSecretKmsKeyId?: string;
    /**
     * The user name associated with the admin user for the namespace that is being created. Only alphanumeric characters and underscores are allowed. It should start with an alphabet.
     */
    readonly adminUsername?: string;
    /**
     * The database name associated for the namespace that is being created. Only alphanumeric characters and underscores are allowed. It should start with an alphabet.
     */
    readonly dbName?: string;
    /**
     * The default IAM role ARN for the namespace that is being created.
     */
    readonly defaultIamRoleArn?: string;
    /**
     * A list of AWS Identity and Access Management (IAM) roles that can be used by the namespace to access other AWS services. You must supply the IAM roles in their Amazon Resource Name (ARN) format. The Default role limit for each request is 10.
     */
    readonly iamRoles?: string[];
    /**
     * The AWS Key Management Service (KMS) key ID of the encryption key that you want to use to encrypt data in the namespace.
     */
    readonly kmsKeyId?: string;
    /**
     * The collection of log types to be exported provided by the customer. Should only be one of the three supported log types: userlog, useractivitylog and connectionlog
     */
    readonly logExports?: enums.redshiftserverless.NamespaceLogExport[];
    /**
     * Definition of Namespace resource.
     */
    readonly namespace?: outputs.redshiftserverless.Namespace;
    /**
     * The resource policy document that will be attached to the namespace.
     *
     * Search the [CloudFormation User Guide](https://docs.aws.amazon.com/cloudformation/) for `AWS::RedshiftServerless::Namespace` for more information about the expected schema for this property.
     */
    readonly namespaceResourcePolicy?: any;
    /**
     * The snapshot copy configurations for the namespace.
     */
    readonly snapshotCopyConfigurations?: outputs.redshiftserverless.NamespaceSnapshotCopyConfiguration[];
    /**
     * The list of tags for the namespace.
     */
    readonly tags?: outputs.Tag[];
}
/**
 * Definition of AWS::RedshiftServerless::Namespace Resource Type
 */
export declare function getNamespaceOutput(args: GetNamespaceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetNamespaceResult>;
export interface GetNamespaceOutputArgs {
    /**
     * A unique identifier for the namespace. You use this identifier to refer to the namespace for any subsequent namespace operations such as deleting or modifying. All alphabetical characters must be lower case. Namespace name should be unique for all namespaces within an AWS account.
     */
    namespaceName: pulumi.Input<string>;
}
