import * as core from "@terrascript/core";
export interface SslPropertiesArgs extends core.SchemaArgs {
    disableSsl: boolean | core.BooleanOut;
}
export declare class SslProperties extends core.Schema<SslPropertiesArgs> {
    disableSsl: boolean | core.BooleanOut;
}
export interface ManifestFileLocationArgs extends core.SchemaArgs {
    bucket: string | core.StringOut;
    key: string | core.StringOut;
}
export declare class ManifestFileLocation extends core.Schema<ManifestFileLocationArgs> {
    bucket: string | core.StringOut;
    key: string | core.StringOut;
}
export interface S3Args extends core.SchemaArgs {
    manifestFileLocation: ManifestFileLocation;
}
export declare class S3 extends core.Schema<S3Args> {
    manifestFileLocation: ManifestFileLocation;
}
export interface PostgresqlArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Postgresql extends core.Schema<PostgresqlArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface RdsArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    instanceId: string | core.StringOut;
}
export declare class Rds extends core.Schema<RdsArgs> {
    database: string | core.StringOut;
    instanceId: string | core.StringOut;
}
export interface SqlServerArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class SqlServer extends core.Schema<SqlServerArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface AthenaArgs extends core.SchemaArgs {
    workGroup?: string | core.StringOut;
}
export declare class Athena extends core.Schema<AthenaArgs> {
    workGroup?: string | core.StringOut;
}
export interface AwsIotAnalyticsArgs extends core.SchemaArgs {
    dataSetName: string | core.StringOut;
}
export declare class AwsIotAnalytics extends core.Schema<AwsIotAnalyticsArgs> {
    dataSetName: string | core.StringOut;
}
export interface MysqlArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Mysql extends core.Schema<MysqlArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface PrestoArgs extends core.SchemaArgs {
    catalog: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Presto extends core.Schema<PrestoArgs> {
    catalog: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface SnowflakeArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    warehouse: string | core.StringOut;
}
export declare class Snowflake extends core.Schema<SnowflakeArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    warehouse: string | core.StringOut;
}
export interface JiraArgs extends core.SchemaArgs {
    siteBaseUrl: string | core.StringOut;
}
export declare class Jira extends core.Schema<JiraArgs> {
    siteBaseUrl: string | core.StringOut;
}
export interface MariaDbArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class MariaDb extends core.Schema<MariaDbArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface AuroraArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Aurora extends core.Schema<AuroraArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface RedshiftArgs extends core.SchemaArgs {
    clusterId?: string | core.StringOut;
    database: string | core.StringOut;
    host?: string | core.StringOut;
    port?: number | core.NumberOut;
}
export declare class Redshift extends core.Schema<RedshiftArgs> {
    clusterId?: string | core.StringOut;
    database: string | core.StringOut;
    host?: string | core.StringOut;
    port?: number | core.NumberOut;
}
export interface OracleArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Oracle extends core.Schema<OracleArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface ServiceNowArgs extends core.SchemaArgs {
    siteBaseUrl: string | core.StringOut;
}
export declare class ServiceNow extends core.Schema<ServiceNowArgs> {
    siteBaseUrl: string | core.StringOut;
}
export interface AmazonElasticsearchArgs extends core.SchemaArgs {
    domain: string | core.StringOut;
}
export declare class AmazonElasticsearch extends core.Schema<AmazonElasticsearchArgs> {
    domain: string | core.StringOut;
}
export interface TwitterArgs extends core.SchemaArgs {
    maxRows: number | core.NumberOut;
    query: string | core.StringOut;
}
export declare class Twitter extends core.Schema<TwitterArgs> {
    maxRows: number | core.NumberOut;
    query: string | core.StringOut;
}
export interface SparkArgs extends core.SchemaArgs {
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Spark extends core.Schema<SparkArgs> {
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface TeradataArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class Teradata extends core.Schema<TeradataArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface AuroraPostgresqlArgs extends core.SchemaArgs {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export declare class AuroraPostgresql extends core.Schema<AuroraPostgresqlArgs> {
    database: string | core.StringOut;
    host: string | core.StringOut;
    port: number | core.NumberOut;
}
export interface ParametersArgs extends core.SchemaArgs {
    amazonElasticsearch?: AmazonElasticsearch;
    athena?: Athena;
    aurora?: Aurora;
    auroraPostgresql?: AuroraPostgresql;
    awsIotAnalytics?: AwsIotAnalytics;
    jira?: Jira;
    mariaDb?: MariaDb;
    mysql?: Mysql;
    oracle?: Oracle;
    postgresql?: Postgresql;
    presto?: Presto;
    rds?: Rds;
    redshift?: Redshift;
    s3?: S3;
    serviceNow?: ServiceNow;
    snowflake?: Snowflake;
    spark?: Spark;
    sqlServer?: SqlServer;
    teradata?: Teradata;
    twitter?: Twitter;
}
export declare class Parameters extends core.Schema<ParametersArgs> {
    amazonElasticsearch?: AmazonElasticsearch;
    athena?: Athena;
    aurora?: Aurora;
    auroraPostgresql?: AuroraPostgresql;
    awsIotAnalytics?: AwsIotAnalytics;
    jira?: Jira;
    mariaDb?: MariaDb;
    mysql?: Mysql;
    oracle?: Oracle;
    postgresql?: Postgresql;
    presto?: Presto;
    rds?: Rds;
    redshift?: Redshift;
    s3?: S3;
    serviceNow?: ServiceNow;
    snowflake?: Snowflake;
    spark?: Spark;
    sqlServer?: SqlServer;
    teradata?: Teradata;
    twitter?: Twitter;
}
export interface PermissionArgs extends core.SchemaArgs {
    actions: core.Array<string> | core.ArrayOut<core.StringOut>;
    principal: string | core.StringOut;
}
export declare class Permission extends core.Schema<PermissionArgs> {
    actions: core.Array<string> | core.ArrayOut<core.StringOut>;
    principal: string | core.StringOut;
}
export interface VpcConnectionPropertiesArgs extends core.SchemaArgs {
    vpcConnectionArn: string | core.StringOut;
}
export declare class VpcConnectionProperties extends core.Schema<VpcConnectionPropertiesArgs> {
    vpcConnectionArn: string | core.StringOut;
}
export interface CredentialPairArgs extends core.SchemaArgs {
    password: string | core.StringOut;
    username: string | core.StringOut;
}
export declare class CredentialPair extends core.Schema<CredentialPairArgs> {
    password: string | core.StringOut;
    username: string | core.StringOut;
}
export interface CredentialsArgs extends core.SchemaArgs {
    copySourceArn?: string | core.StringOut;
    credentialPair?: CredentialPair;
}
export declare class Credentials extends core.Schema<CredentialsArgs> {
    copySourceArn?: string | core.StringOut;
    credentialPair?: CredentialPair;
}
export interface DataSourceArgs extends core.ResourceArgs {
    awsAccountId?: string | core.StringOut;
    credentials?: Credentials;
    dataSourceId: string | core.StringOut;
    name: string | core.StringOut;
    parameters: Parameters;
    permission?: core.Array<Permission> | core.ArrayOut<Permission>;
    sslProperties?: SslProperties;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
    vpcConnectionProperties?: VpcConnectionProperties;
}
export declare class DataSource extends core.Resource<DataSourceArgs> {
    arn: string | core.StringOut;
    awsAccountId?: string | core.StringOut;
    credentials?: Credentials;
    dataSourceId: string | core.StringOut;
    id: string | core.StringOut;
    name: string | core.StringOut;
    parameters: Parameters;
    permission?: core.Array<Permission> | core.ArrayOut<Permission>;
    sslProperties?: SslProperties;
    tags?: core.Map<string, string> | core.MapOut<core.StringOut>;
    tagsAll?: core.Map<string, string> | core.MapOut<core.StringOut>;
    type: string | core.StringOut;
    vpcConnectionProperties?: VpcConnectionProperties;
    constructor(name: string, args?: DataSourceArgs);
    getNamespace(): string;
}
//# sourceMappingURL=data_source.d.ts.map