import * as core from "@terrascript/core"; export interface DataLocationArgs extends core.SchemaArgs { arn: string | core.StringOut; catalogId?: string | core.StringOut; } export declare class DataLocation extends core.Schema { arn: string | core.StringOut; catalogId?: string | core.StringOut; } export interface TableWithColumnsArgs extends core.SchemaArgs { catalogId?: string | core.StringOut; columnNames?: core.Array | core.ArrayOut; databaseName: string | core.StringOut; excludedColumnNames?: core.Array | core.ArrayOut; name: string | core.StringOut; wildcard?: boolean | core.BooleanOut; } export declare class TableWithColumns extends core.Schema { catalogId?: string | core.StringOut; columnNames?: core.Array | core.ArrayOut; databaseName: string | core.StringOut; excludedColumnNames?: core.Array | core.ArrayOut; name: string | core.StringOut; wildcard?: boolean | core.BooleanOut; } export interface ExpressionArgs extends core.SchemaArgs { key: string | core.StringOut; values: core.Array | core.ArrayOut; } export declare class Expression extends core.Schema { key: string | core.StringOut; values: core.Array | core.ArrayOut; } export interface LfTagPolicyArgs extends core.SchemaArgs { catalogId?: string | core.StringOut; expression: core.Array | core.ArrayOut; resourceType: string | core.StringOut; } export declare class LfTagPolicy extends core.Schema { catalogId?: string | core.StringOut; expression: core.Array | core.ArrayOut; resourceType: string | core.StringOut; } export interface TableArgs extends core.SchemaArgs { catalogId?: string | core.StringOut; databaseName: string | core.StringOut; name?: string | core.StringOut; wildcard?: boolean | core.BooleanOut; } export declare class Table extends core.Schema { catalogId?: string | core.StringOut; databaseName: string | core.StringOut; name?: string | core.StringOut; wildcard?: boolean | core.BooleanOut; } export interface LfTagArgs extends core.SchemaArgs { catalogId?: string | core.StringOut; key: string | core.StringOut; values: core.Array | core.ArrayOut; } export declare class LfTag extends core.Schema { catalogId?: string | core.StringOut; key: string | core.StringOut; values: core.Array | core.ArrayOut; } export interface DatabaseArgs extends core.SchemaArgs { catalogId?: string | core.StringOut; name: string | core.StringOut; } export declare class Database extends core.Schema { catalogId?: string | core.StringOut; name: string | core.StringOut; } export interface PermissionsArgs extends core.ResourceArgs { /** * (Optional) Identifier for the Data Catalog where the location is registered with Lake Formation. By * default, it is the account ID of the caller. */ catalogId?: string | core.StringOut; /** * (Optional) Whether the permissions are to be granted for the Data Catalog. Defaults to `false`. */ catalogResource?: boolean | core.BooleanOut; /** * (Optional) Configuration block for a data location resource. Detailed below. */ dataLocation?: DataLocation; /** * (Optional) Configuration block for a database resource. Detailed below. */ database?: Database; /** * (Optional) Configuration block for an LF-tag resource. Detailed below. */ lfTag?: LfTag; /** * (Optional) Configuration block for an LF-tag policy resource. Detailed below. */ lfTagPolicy?: LfTagPolicy; permissions: core.Array | core.ArrayOut; /** * (Optional) Subset of `permissions` which the principal can pass. */ permissionsWithGrantOption?: core.Array | core.ArrayOut; principal: string | core.StringOut; /** * (Optional) Configuration block for a table resource. Detailed below. */ table?: Table; /** * (Optional) Configuration block for a table with columns resource. Detailed below. */ tableWithColumns?: TableWithColumns; } export declare class Permissions extends core.Resource { /** * (Optional) Identifier for the Data Catalog where the location is registered with Lake Formation. By * default, it is the account ID of the caller. */ catalogId?: string | core.StringOut; /** * (Optional) Whether the permissions are to be granted for the Data Catalog. Defaults to `false`. */ catalogResource?: boolean | core.BooleanOut; /** * (Optional) Configuration block for a data location resource. Detailed below. */ dataLocation?: DataLocation; /** * (Optional) Configuration block for a database resource. Detailed below. */ database?: Database; id: string | core.StringOut; /** * (Optional) Configuration block for an LF-tag resource. Detailed below. */ lfTag?: LfTag; /** * (Optional) Configuration block for an LF-tag policy resource. Detailed below. */ lfTagPolicy?: LfTagPolicy; permissions: core.Array | core.ArrayOut; /** * (Optional) Subset of `permissions` which the principal can pass. */ permissionsWithGrantOption?: core.Array | core.ArrayOut; principal: string | core.StringOut; /** * (Optional) Configuration block for a table resource. Detailed below. */ table?: Table; /** * (Optional) Configuration block for a table with columns resource. Detailed below. */ tableWithColumns?: TableWithColumns; constructor(name: string, args?: PermissionsArgs); getNamespace(): string; } //# sourceMappingURL=permissions.d.ts.map