import { Platform } from '@expo/eas-build-job'; import { ResolvedArchiveSource } from './ArchiveSource'; import { SubmissionContext } from './context'; import { AnalyticsEvent } from '../analytics/AnalyticsManager'; import { AndroidSubmissionConfigInput, IosSubmissionConfigInput, SubmissionArchiveSourceInput, SubmissionFragment } from '../graphql/generated'; export interface SubmissionInput

{ projectId: string; submissionConfig: P extends Platform.ANDROID ? AndroidSubmissionConfigInput : IosSubmissionConfigInput; buildId?: string; archiveSource?: SubmissionArchiveSourceInput; } interface AnalyticEvents { attemptEvent: AnalyticsEvent; successEvent: AnalyticsEvent; failureEvent: AnalyticsEvent; } export default abstract class BaseSubmitter

{ protected ctx: SubmissionContext

; protected options: SubmissionOptions; protected sourceOptionResolver: { [K in keyof ResolvedSourceOptions]: () => Promise; }; protected sourceOptionAnalytics: Record; constructor(ctx: SubmissionContext

, options: SubmissionOptions, sourceOptionResolver: { [K in keyof ResolvedSourceOptions]: () => Promise; }, sourceOptionAnalytics: Record); private getSourceOptionsAsync; getSubmissionInputAsync(): Promise>; submitAsync(): Promise; abstract createSubmissionInputAsync(resolvedOptions: ResolvedSourceOptions): Promise>; formatArchive(archive: ResolvedArchiveSource): Pick, 'archiveSource' | 'buildId'>; private createSubmissionAsync; private createSubmissionWithAnalyticsAsync; protected abstract createPlatformSubmissionAsync(input: SubmissionInput

): Promise; } export {};