import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { FieldDefinitionNode, ObjectTypeDefinitionNode } from 'graphql';
import { ConfiguredAuthProviders, RoleDefinition } from '../../utils';
import { AuthVTLGenerator } from '../vtl-generator';
export declare class RDSAuthVTLGenerator implements AuthVTLGenerator {
    generateAuthExpressionForCreate: (ctx: TransformerContextProvider, providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>) => string;
    generateAuthExpressionForUpdate: (providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>) => string;
    generateAuthRequestExpression: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode) => string;
    generateAuthExpressionForDelete: (providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>) => string;
    generateAuthExpressionForField: (providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>, fieldName: string | undefined) => string;
    generateFieldAuthResponse: (operation: string, fieldName: string, subscriptionsEnabled: boolean) => string;
    generateAuthExpressionForQueries: (ctx: TransformerContextProvider, providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>, def: ObjectTypeDefinitionNode, indexName: string | undefined) => string;
    generateAuthExpressionForSearchQueries: (providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>, allowedAggFields: Array<string>) => string;
    generateAuthExpressionForSubscriptions: (providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>) => string;
    setDeniedFieldFlag: (operation: string, subscriptionsEnabled: boolean) => string;
    generateAuthExpressionForRelationQuery: (ctx: TransformerContextProvider, def: ObjectTypeDefinitionNode, field: FieldDefinitionNode, relatedModelObject: ObjectTypeDefinitionNode, providers: ConfiguredAuthProviders, roles: Array<RoleDefinition>, fields: ReadonlyArray<FieldDefinitionNode>) => string;
    generateFieldResolverForOwner: (entity: string) => string;
    generateSandboxExpressionForField: (sandboxEnabled: boolean, genericIamAccessEnabled: boolean) => string;
}
//# sourceMappingURL=rds-vtl-generator.d.ts.map