import type { AwsCfnTemplate, AwsResourceCommon, CloudFormationResource } from "../CloudFormation";
import type { Api, ApiType } from "./Api";
import type { Function, FunctionType } from "./Function";
import type { SimpleTable, SimpleTableType } from "./SimpleTable";
export * from "./Function";
export * from "./common";
export * from "./Api";
export * from "./SimpleTable";
export declare type ServerlessResourceTypes = ApiType | FunctionType | SimpleTableType;
export declare type ServerlessResourceByTypes = {
    [K in ApiType]: Api;
} & {
    [K in FunctionType]: Function;
} & {
    [K in SimpleTableType]: SimpleTable;
};
export declare type ServerlessResources = ServerlessResourceByTypes[ServerlessResourceTypes];
export interface AwsSamTemplate<TResource extends AwsResourceCommon = CloudFormationResource | ServerlessResources> extends AwsCfnTemplate<TResource> {
    Transform: 'AWS::Serverless-2016-10-31';
}
