import * as pulumi from "@pulumi/pulumi";
import * as outputs from "../types/output";
import * as enums from "../types/enums";
/**
 * Resource schema for AWS::Athena::DataCatalog
 */
export declare function getDataCatalog(args: GetDataCatalogArgs, opts?: pulumi.InvokeOptions): Promise<GetDataCatalogResult>;
export interface GetDataCatalogArgs {
    /**
     * The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
     */
    name: string;
}
export interface GetDataCatalogResult {
    /**
     * The type of connection for a FEDERATED data catalog
     */
    readonly connectionType?: string;
    /**
     * A description of the data catalog to be created.
     */
    readonly description?: string;
    /**
     * Text of the error that occurred during data catalog creation or deletion.
     */
    readonly error?: string;
    /**
     * Specifies the Lambda function or functions to use for creating the data catalog. This is a mapping whose values depend on the catalog type.
     */
    readonly parameters?: {
        [key: string]: string;
    };
    /**
     * The status of the creation or deletion of the data catalog. LAMBDA, GLUE, and HIVE data catalog types are created synchronously. Their status is either CREATE_COMPLETE or CREATE_FAILED. The FEDERATED data catalog type is created asynchronously.
     */
    readonly status?: enums.athena.DataCatalogStatus;
    /**
     * A list of comma separated tags to add to the data catalog that is created.
     */
    readonly tags?: outputs.Tag[];
    /**
     * The type of data catalog to create: LAMBDA for a federated catalog, GLUE for AWS Glue Catalog, or HIVE for an external hive metastore. FEDERATED is a federated catalog for which Athena creates the connection and the Lambda function for you based on the parameters that you pass.
     */
    readonly type?: enums.athena.DataCatalogType;
}
/**
 * Resource schema for AWS::Athena::DataCatalog
 */
export declare function getDataCatalogOutput(args: GetDataCatalogOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetDataCatalogResult>;
export interface GetDataCatalogOutputArgs {
    /**
     * The name of the data catalog to create. The catalog name must be unique for the AWS account and can use a maximum of 128 alphanumeric, underscore, at sign, or hyphen characters.
     */
    name: pulumi.Input<string>;
}
