import * as core from "@terrascript/core";
export interface PrincipalArgs extends core.SchemaArgs {
    dataLakePrincipalIdentifier?: string | core.StringOut;
}
export declare class Principal extends core.Schema<PrincipalArgs> {
    dataLakePrincipalIdentifier?: string | core.StringOut;
}
export interface CreateTableDefaultPermissionArgs extends core.SchemaArgs {
    permissions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    principal?: Principal;
}
export declare class CreateTableDefaultPermission extends core.Schema<CreateTableDefaultPermissionArgs> {
    permissions?: core.Array<string> | core.ArrayOut<core.StringOut>;
    principal?: Principal;
}
export interface TargetDatabaseArgs extends core.SchemaArgs {
    catalogId: string | core.StringOut;
    databaseName: string | core.StringOut;
}
export declare class TargetDatabase extends core.Schema<TargetDatabaseArgs> {
    catalogId: string | core.StringOut;
    databaseName: string | core.StringOut;
}
export interface CatalogDatabaseArgs extends core.ResourceArgs {
    catalogId?: string | core.StringOut;
    createTableDefaultPermission?: core.Array<CreateTableDefaultPermission> | core.ArrayOut<CreateTableDefaultPermission>;
    description?: string | core.StringOut;
    locationUri?: string | core.StringOut;
    name: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    targetDatabase?: TargetDatabase;
}
export declare class CatalogDatabase extends core.Resource<CatalogDatabaseArgs> {
    arn: string | core.StringOut;
    catalogId?: string | core.StringOut;
    createTableDefaultPermission?: core.Array<CreateTableDefaultPermission> | core.ArrayOut<CreateTableDefaultPermission>;
    description?: string | core.StringOut;
    id: string | core.StringOut;
    locationUri?: string | core.StringOut;
    name: string | core.StringOut;
    parameters?: core.Map<string, string> | core.MapOut<core.StringOut>;
    targetDatabase?: TargetDatabase;
    constructor(name: string, args?: CatalogDatabaseArgs);
    getNamespace(): string;
}
//# sourceMappingURL=catalog_database.d.ts.map