import { ResourceBase, ResourceTag as Inner_ResourceTag } from "../../resource";
import { Value, List } from "../../data-types";
export declare class MongoDbSettings {
    Port?: Value<number>;
    AuthType?: Value<string>;
    AuthSource?: Value<string>;
    DatabaseName?: Value<string>;
    DocsToInvestigate?: Value<string>;
    ServerName?: Value<string>;
    AuthMechanism?: Value<string>;
    ExtractDocId?: Value<string>;
    Username?: Value<string>;
    NestingLevel?: Value<string>;
    Password?: Value<string>;
    constructor(properties: MongoDbSettings);
}
export declare class S3Settings {
    ExternalTableDefinition?: Value<string>;
    BucketName?: Value<string>;
    BucketFolder?: Value<string>;
    CsvRowDelimiter?: Value<string>;
    CsvDelimiter?: Value<string>;
    ServiceAccessRoleArn?: Value<string>;
    CompressionType?: Value<string>;
    constructor(properties: S3Settings);
}
export declare class ElasticsearchSettings {
    EndpointUri?: Value<string>;
    FullLoadErrorPercentage?: Value<number>;
    ErrorRetryDuration?: Value<number>;
    ServiceAccessRoleArn?: Value<string>;
    constructor(properties: ElasticsearchSettings);
}
export declare class DynamoDbSettings {
    ServiceAccessRoleArn?: Value<string>;
    constructor(properties: DynamoDbSettings);
}
export declare class KafkaSettings {
    Broker?: Value<string>;
    Topic?: Value<string>;
    constructor(properties: KafkaSettings);
}
export declare class KinesisSettings {
    MessageFormat?: Value<string>;
    StreamArn?: Value<string>;
    ServiceAccessRoleArn?: Value<string>;
    constructor(properties: KinesisSettings);
}
export interface EndpointProperties {
    ElasticsearchSettings?: ElasticsearchSettings;
    Port?: Value<number>;
    S3Settings?: S3Settings;
    ExtraConnectionAttributes?: Value<string>;
    CertificateArn?: Value<string>;
    DatabaseName?: Value<string>;
    KafkaSettings?: KafkaSettings;
    KmsKeyId?: Value<string>;
    KinesisSettings?: KinesisSettings;
    DynamoDbSettings?: DynamoDbSettings;
    EngineName: Value<string>;
    ServerName?: Value<string>;
    SslMode?: Value<string>;
    EndpointType: Value<string>;
    MongoDbSettings?: MongoDbSettings;
    Username?: Value<string>;
    Tags?: List<Inner_ResourceTag>;
    Password?: Value<string>;
    EndpointIdentifier?: Value<string>;
}
export default class Inner_Endpoint extends ResourceBase<EndpointProperties> {
    static MongoDbSettings: typeof MongoDbSettings;
    static S3Settings: typeof S3Settings;
    static ElasticsearchSettings: typeof ElasticsearchSettings;
    static DynamoDbSettings: typeof DynamoDbSettings;
    static KafkaSettings: typeof KafkaSettings;
    static KinesisSettings: typeof KinesisSettings;
    constructor(properties: EndpointProperties);
}
