import { IResource, Resource } from 'aws-cdk-lib/core';
import { Construct } from 'constructs';
export interface IDatabase extends IResource {
    /**
     * The ARN of the catalog.
     */
    readonly catalogArn: string;
    /**
     * The catalog id of the database (usually, the AWS account id)
     */
    readonly catalogId: string;
    /**
     * The ARN of the database.
     *
     * @attribute
     */
    readonly databaseArn: string;
    /**
     * The name of the database.
     *
     * @attribute
     */
    readonly databaseName: string;
}
export interface DatabaseProps {
    /**
     * The name of the database.
     *
     * @default - generated by CDK.
     */
    readonly databaseName?: string;
    /**
     * The location of the database (for example, an HDFS path).
     *
     * @default undefined. This field is optional in AWS::Glue::Database DatabaseInput
     * @see https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-glue-database-databaseinput.html
     */
    readonly locationUri?: string;
    /**
     * A description of the database.
     *
     * @default - no database description
     */
    readonly description?: string;
}
/**
 * A Glue database.
 */
export declare class Database extends Resource implements IDatabase {
    /** Uniquely identifies this class. */
    static readonly PROPERTY_INJECTION_ID: string;
    static fromDatabaseArn(scope: Construct, id: string, databaseArn: string): IDatabase;
    /**
     * ARN of the Glue catalog in which this database is stored.
     */
    readonly catalogArn: string;
    /**
     * The catalog id of the database (usually, the AWS account id).
     */
    readonly catalogId: string;
    /**
     * ARN of this database.
     */
    readonly databaseArn: string;
    /**
     * Name of this database.
     */
    readonly databaseName: string;
    /**
     * Location URI of this database.
     */
    readonly locationUri?: string;
    constructor(scope: Construct, id: string, props?: DatabaseProps);
}
