import { Planner } from '../../../_common/planner';
import { AmplifyMigrationOperation } from '../../../_common/operation';
import { BackendGenerator } from '../backend.generator';
import { Gen1App, DiscoveredResource } from '../../../_common/gen1-app';
import { SpinningLogger } from '../../../_common/spinning-logger';
export interface ParsedOverride {
    readonly kind: 'override';
    readonly typeName: string;
    readonly fieldName: string;
    readonly templateType: 'req' | 'res';
    readonly filename: string;
}
export interface ParsedExtended {
    readonly kind: 'extended';
    readonly typeName: string;
    readonly fieldName: string;
    readonly slot: string;
    readonly order: number;
    readonly templateType: 'req' | 'res';
    readonly filename: string;
}
export type ParsedVtl = ParsedOverride | ParsedExtended;
export interface ClassifiedVtlFiles {
    readonly overrides: readonly ParsedOverride[];
    readonly extended: readonly ParsedExtended[];
}
export declare function parseVtlFilename(filename: string): ParsedVtl | undefined;
export declare function classifyVtlFiles(filenames: string[]): ClassifiedVtlFiles;
export declare class DataGenerator implements Planner {
    private readonly gen1App;
    private readonly backendGenerator;
    private readonly outputDir;
    private readonly resource;
    private readonly renderer;
    private readonly logger;
    constructor(gen1App: Gen1App, backendGenerator: BackendGenerator, outputDir: string, resource: DiscoveredResource, logger: SpinningLogger);
    plan(): Promise<AmplifyMigrationOperation[]>;
    private collectUserSchema;
    private findResolverVtlFiles;
    private createTableMappings;
    private detectIamAuth;
}
//# sourceMappingURL=data.generator.d.ts.map