import { ExecuteGoal, GoalWithFulfillment, PredicatedGoalDefinition, ProjectAwareGoalInvocation, SoftwareDeliveryMachine } from "@atomist/sdm"; import * as AWS from "aws-sdk"; import { PublishToS3Options } from "./options"; /** * An array of fileglobs to paths within the project */ export declare type GlobPatterns = string[]; /** * Get a goal that will publish (portions of) a project to S3. * If the project needs to be built or otherwise processed first, use * `.withProjectListeners` to get those prerequisite steps done. */ export declare class PublishToS3 extends GoalWithFulfillment { private readonly options; constructor(options: PublishToS3Options & PredicatedGoalDefinition); /** * Called by the SDM on initialization. This function calls * `super.register` and adds a startup listener to the SDM. The * startup listener registers a default goal fulfillment if there * is none that suppresses logs posted to chat. */ register(sdm: SoftwareDeliveryMachine): void; } export declare function executePublishToS3(inputParams: PublishToS3Options): ExecuteGoal; interface PushToS3Result { bucketUrl: string; warnings: string[]; fileCount: number; deleted: number; } /** * Push files in project to S3 according to options provided by * `params`. * * @param s3 S3 client * @param inv goal invocation with project to upload * @param params options for upload * @return information on upload success and warnings */ export declare function pushToS3(s3: AWS.S3, inv: ProjectAwareGoalInvocation, params: PublishToS3Options): Promise; export {}; //# sourceMappingURL=publishToS3.d.ts.map