import { $TSContext } from '@aws-amplify/amplify-cli-core';
import { AwsClients } from './aws-clients';
import { AwsFetcher } from './aws-fetcher';
export declare const KNOWN_RESOURCE_KEYS: readonly ["auth:Cognito", "auth:Cognito-UserPool-Groups", "storage:S3", "storage:DynamoDB", "api:AppSync", "api:API Gateway", "analytics:Kinesis", "function:Lambda", "geo:Map", "geo:PlaceIndex", "geo:GeofenceCollection", "custom:customCDK"];
export declare enum KNOWN_FEATURES {
    OVERRIDES = "overrides",
    CUSTOM_FUNCTION_POLICIES = "custom-policies",
    CONFLICT_RESOLUTION = "conflict-resolution"
}
export type ResourceKey = (typeof KNOWN_RESOURCE_KEYS)[number] | 'UNKNOWN';
export interface DiscoveredResource {
    readonly category: string;
    readonly resourceName: string;
    readonly service: string;
    readonly key: ResourceKey;
}
export declare class Gen1App {
    readonly appId: string;
    readonly appName: string;
    readonly region: string;
    readonly envName: string;
    readonly clients: AwsClients;
    readonly aws: AwsFetcher;
    readonly ccbDir: string;
    readonly rootStackName: string;
    readonly deploymentBucket: string;
    readonly statefulResourceTypes: string[];
    private readonly _meta;
    private constructor();
    static create(context: $TSContext, additionalStatefulResourceTypesPath?: string): Promise<Gen1App>;
    categoryMeta(category: string): Record<string, unknown> | undefined;
    resourceMeta(resource: DiscoveredResource): Record<string, any>;
    discover(): DiscoveredResource[];
    resourceMetaOutput(resource: DiscoveredResource, outputKey: string): string;
    singleResourceName(category: string, service: string): string;
    json(relativePath: string): any;
    file(relativePath: string): string;
    fileExists(relativePath: string): boolean;
    ensureCliInputs(category: string, resourceName: string): void;
    cliInputs(category: string, resourceName: string): any;
    private static currentEnvName;
    private static downloadCloudBackend;
}
//# sourceMappingURL=gen1-app.d.ts.map