import { AppSyncModelVisitor, ParsedAppSyncModelConfig, RawAppSyncModelConfig, CodeGenModel, CodeGenField } from './appsync-visitor';
import { DartDeclarationBlock } from '../languages/dart-declaration-block';
import { NormalizedScalarsMap } from '@graphql-codegen/visitor-plugin-common';
import { GraphQLSchema } from 'graphql';
export interface RawAppSyncModelDartConfig extends RawAppSyncModelConfig {
}
export interface ParsedAppSyncModelDartConfig extends ParsedAppSyncModelConfig {
}
export declare class AppSyncModelDartVisitor<TRawConfig extends RawAppSyncModelDartConfig = RawAppSyncModelDartConfig, TPluginConfig extends ParsedAppSyncModelDartConfig = ParsedAppSyncModelDartConfig> extends AppSyncModelVisitor<TRawConfig, TPluginConfig> {
    constructor(schema: GraphQLSchema, rawConfig: TRawConfig, additionalConfig: Partial<TPluginConfig>, defaultScalars?: NormalizedScalarsMap);
    generate(): string;
    protected validateReservedKeywords(): void;
    protected generateClassLoader(): string;
    protected generateEnums(): string;
    protected generateModelClasses(): string;
    protected generateNonModelClasses(): string;
    protected generatePackageHeader(): string;
    protected generateModelClass(model: CodeGenModel): string;
    protected generateNonModelClass(model: CodeGenModel): string;
    protected generateModelType(model: CodeGenModel): string;
    protected generateModelIdentifierClass(model: CodeGenModel): string;
    protected generateModelField(field: CodeGenField, value: string, classDeclarationBlock: DartDeclarationBlock): void;
    protected generateGetters(model: CodeGenModel, declarationBlock: DartDeclarationBlock, includeIdGetter?: boolean): void;
    protected generateModelIdentifierGetter(model: CodeGenModel, declarationBlock: DartDeclarationBlock, forceCastException: string): void;
    protected generateConstructor(model: CodeGenModel, declarationBlock: DartDeclarationBlock): void;
    protected generateEqualsMethodAndOperator(model: CodeGenModel, declarationBlock: DartDeclarationBlock): void;
    protected generateHashCodeMethod(model: CodeGenModel, declarationBlock: DartDeclarationBlock): void;
    protected generateToStringMethod(model: CodeGenModel, declarationBlock: DartDeclarationBlock): void;
    protected generateCopyWithMethod(model: CodeGenModel, declarationBlock: DartDeclarationBlock): void;
    protected generateCopyWithModelFieldValuesMethod(model: CodeGenModel, declarationBlock: DartDeclarationBlock): void;
    protected generateSerializationMethod(model: CodeGenModel, declarationBlock: DartDeclarationBlock): void;
    protected generateModelSchema(model: CodeGenModel, classDeclarationBlock: DartDeclarationBlock): void;
    protected generateNonModelSchema(model: CodeGenModel, classDeclarationBlock: DartDeclarationBlock): void;
    protected generateQueryField(model: CodeGenModel, field: CodeGenField, declarationBlock: DartDeclarationBlock): void;
    protected getQueryFieldName(field: CodeGenField): string;
    protected generateSchemaField(model: CodeGenModel, declarationBlock: DartDeclarationBlock, isNonModel?: boolean): void;
    protected generateAuthRules(model: CodeGenModel): string;
    protected generateIndexes(model: CodeGenModel): string;
    protected generateAddFields(model: CodeGenModel): string;
    protected generateNonModelAddFields(model: CodeGenModel): string;
    protected getOfType(field: CodeGenField): string;
    protected getNonConnectedField(model: CodeGenModel): CodeGenField[];
    protected getModelIdentifierFields(model: CodeGenModel): CodeGenField[];
    protected isFieldRequired(field: CodeGenField): boolean;
    protected isHasManyConnectionField(field: CodeGenField): boolean;
    protected getNullableTypeStr(type: string): string;
    protected getWritableFields(model: CodeGenModel, excludeIdentifierFields?: boolean): CodeGenField[];
}
//# sourceMappingURL=appsync-dart-visitor.d.ts.map