import * as core from "@terrascript/core";
export interface OnFailureArgs extends core.SchemaArgs {
    destinationArn: string | core.StringOut;
}
export declare class OnFailure extends core.Schema<OnFailureArgs> {
    destinationArn: string | core.StringOut;
}
export interface DestinationConfigArgs extends core.SchemaArgs {
    onFailure?: OnFailure;
}
export declare class DestinationConfig extends core.Schema<DestinationConfigArgs> {
    onFailure?: OnFailure;
}
export interface SelfManagedEventSourceArgs extends core.SchemaArgs {
    endpoints: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export declare class SelfManagedEventSource extends core.Schema<SelfManagedEventSourceArgs> {
    endpoints: core.Map<string, string> | core.MapOut<core.StringOut>;
}
export interface SourceAccessConfigurationArgs extends core.SchemaArgs {
    type: string | core.StringOut;
    uri: string | core.StringOut;
}
export declare class SourceAccessConfiguration extends core.Schema<SourceAccessConfigurationArgs> {
    type: string | core.StringOut;
    uri: string | core.StringOut;
}
export interface FilterArgs extends core.SchemaArgs {
    pattern?: string | core.StringOut;
}
export declare class Filter extends core.Schema<FilterArgs> {
    pattern?: string | core.StringOut;
}
export interface FilterCriteriaArgs extends core.SchemaArgs {
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
}
export declare class FilterCriteria extends core.Schema<FilterCriteriaArgs> {
    filter?: core.Array<Filter> | core.ArrayOut<Filter>;
}
export interface EventSourceMappingArgs extends core.ResourceArgs {
    batchSize?: number | core.NumberOut;
    bisectBatchOnFunctionError?: boolean | core.BooleanOut;
    destinationConfig?: DestinationConfig;
    enabled?: boolean | core.BooleanOut;
    eventSourceArn?: string | core.StringOut;
    filterCriteria?: FilterCriteria;
    functionName: string | core.StringOut;
    functionResponseTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    maximumBatchingWindowInSeconds?: number | core.NumberOut;
    maximumRecordAgeInSeconds?: number | core.NumberOut;
    maximumRetryAttempts?: number | core.NumberOut;
    parallelizationFactor?: number | core.NumberOut;
    queues?: core.Array<string> | core.ArrayOut<core.StringOut>;
    selfManagedEventSource?: SelfManagedEventSource;
    sourceAccessConfiguration?: core.Array<SourceAccessConfiguration> | core.ArrayOut<SourceAccessConfiguration>;
    startingPosition?: string | core.StringOut;
    startingPositionTimestamp?: string | core.StringOut;
    topics?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tumblingWindowInSeconds?: number | core.NumberOut;
}
export declare class EventSourceMapping extends core.Resource<EventSourceMappingArgs> {
    batchSize?: number | core.NumberOut;
    bisectBatchOnFunctionError?: boolean | core.BooleanOut;
    destinationConfig?: DestinationConfig;
    enabled?: boolean | core.BooleanOut;
    eventSourceArn?: string | core.StringOut;
    filterCriteria?: FilterCriteria;
    functionArn: string | core.StringOut;
    functionName: string | core.StringOut;
    functionResponseTypes?: core.Array<string> | core.ArrayOut<core.StringOut>;
    id: string | core.StringOut;
    lastModified: string | core.StringOut;
    lastProcessingResult: string | core.StringOut;
    maximumBatchingWindowInSeconds?: number | core.NumberOut;
    maximumRecordAgeInSeconds?: number | core.NumberOut;
    maximumRetryAttempts?: number | core.NumberOut;
    parallelizationFactor?: number | core.NumberOut;
    queues?: core.Array<string> | core.ArrayOut<core.StringOut>;
    selfManagedEventSource?: SelfManagedEventSource;
    sourceAccessConfiguration?: core.Array<SourceAccessConfiguration> | core.ArrayOut<SourceAccessConfiguration>;
    startingPosition?: string | core.StringOut;
    startingPositionTimestamp?: string | core.StringOut;
    state: string | core.StringOut;
    stateTransitionReason: string | core.StringOut;
    topics?: core.Array<string> | core.ArrayOut<core.StringOut>;
    tumblingWindowInSeconds?: number | core.NumberOut;
    uuid: string | core.StringOut;
    constructor(name: string, args?: EventSourceMappingArgs);
    getNamespace(): string;
}
//# sourceMappingURL=event_source_mapping.d.ts.map