import * as core from "@terrascript/core";
export interface CachingConfigArgs extends core.SchemaArgs {
    cachingKeys?: core.Array<string> | core.ArrayOut<core.StringOut>;
    ttl?: number | core.NumberOut;
}
export declare class CachingConfig extends core.Schema<CachingConfigArgs> {
    cachingKeys?: core.Array<string> | core.ArrayOut<core.StringOut>;
    ttl?: number | core.NumberOut;
}
export interface PipelineConfigArgs extends core.SchemaArgs {
    functions?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export declare class PipelineConfig extends core.Schema<PipelineConfigArgs> {
    functions?: core.Array<string> | core.ArrayOut<core.StringOut>;
}
export interface LambdaConflictHandlerConfigArgs extends core.SchemaArgs {
    lambdaConflictHandlerArn?: string | core.StringOut;
}
export declare class LambdaConflictHandlerConfig extends core.Schema<LambdaConflictHandlerConfigArgs> {
    lambdaConflictHandlerArn?: string | core.StringOut;
}
export interface SyncConfigArgs extends core.SchemaArgs {
    conflictDetection?: string | core.StringOut;
    conflictHandler?: string | core.StringOut;
    lambdaConflictHandlerConfig?: LambdaConflictHandlerConfig;
}
export declare class SyncConfig extends core.Schema<SyncConfigArgs> {
    conflictDetection?: string | core.StringOut;
    conflictHandler?: string | core.StringOut;
    lambdaConflictHandlerConfig?: LambdaConflictHandlerConfig;
}
export interface ResolverArgs extends core.ResourceArgs {
    apiId: string | core.StringOut;
    cachingConfig?: CachingConfig;
    dataSource?: string | core.StringOut;
    field: string | core.StringOut;
    kind?: string | core.StringOut;
    maxBatchSize?: number | core.NumberOut;
    pipelineConfig?: PipelineConfig;
    requestTemplate?: string | core.StringOut;
    responseTemplate?: string | core.StringOut;
    syncConfig?: SyncConfig;
    type: string | core.StringOut;
}
export declare class Resolver extends core.Resource<ResolverArgs> {
    apiId: string | core.StringOut;
    arn: string | core.StringOut;
    cachingConfig?: CachingConfig;
    dataSource?: string | core.StringOut;
    field: string | core.StringOut;
    id: string | core.StringOut;
    kind?: string | core.StringOut;
    maxBatchSize?: number | core.NumberOut;
    pipelineConfig?: PipelineConfig;
    requestTemplate?: string | core.StringOut;
    responseTemplate?: string | core.StringOut;
    syncConfig?: SyncConfig;
    type: string | core.StringOut;
    constructor(name: string, args?: ResolverArgs);
    getNamespace(): string;
}
//# sourceMappingURL=resolver.d.ts.map