import { GraphQLAPIProvider, ModelFieldMap, SynthParameters, TransformerResourceHelperProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DirectiveNode, FieldNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode } from 'graphql';
export declare class TransformerResourceHelper implements TransformerResourceHelperProvider {
    #private;
    private synthParameters;
    private api?;
    private exclusionSet;
    constructor(synthParameters: SynthParameters);
    generateTableName: (modelName: string) => string;
    generateIAMRoleName: (name: string) => string;
    bind(api: GraphQLAPIProvider): void;
    setModelNameMapping: (modelName: string, mappedName: string) => void;
    getModelNameMapping: (modelName: string) => string;
    isModelRenamed: (modelName: string) => boolean;
    getModelFieldMap: (modelName: string) => ModelFieldMap;
    getFieldNameMapping: (modelName: string, fieldName: string) => string;
    getModelFieldMapKeys: () => string[];
    addDirectiveConfigExclusion: (object: ObjectTypeDefinitionNode | ObjectTypeExtensionNode, field: FieldNode | undefined, directive: DirectiveNode) => void;
    isDirectiveConfigExcluded: (object: ObjectTypeDefinitionNode | ObjectTypeExtensionNode, field: FieldNode | undefined, directive: DirectiveNode) => boolean;
    private convertDirectiveConfigToKey;
}
//# sourceMappingURL=resource-helper.d.ts.map