import { ValueOf } from '@hubspot/local-dev-lib/types/Utils'; import { type UploadAndDeployResult } from '../../../lib/getStartedV2Actions.js'; import { ACTION_STATUSES, GET_STARTED_FLOW_STEPS } from '../../lib/constants.js'; export type FlowStep = ValueOf; export type ActionStatus = ValueOf; export type ProjectState = { name: string; destination: string; uploadResult?: UploadAndDeployResult; }; export type AppState = { selectedLabel: string; }; export type ActionStatuses = { create: ActionStatus; upload: ActionStatus; installApp: ActionStatus; }; export type FlowState = { step: FlowStep; project: ProjectState; app: AppState; statuses: ActionStatuses; error?: string; destError?: string; browserFailedUrl?: string; pollingTimedOut?: boolean; }; type FlowAction = { type: 'SET_STEP'; payload: FlowStep; } | { type: 'SET_SELECTED_LABEL'; payload: string; } | { type: 'SET_PROJECT_NAME'; payload: string; } | { type: 'SET_PROJECT_DEST'; payload: string; } | { type: 'SET_ERROR'; payload: string; } | { type: 'SET_DEST_ERROR'; payload: string; } | { type: 'CLEAR_ERROR'; } | { type: 'START_PROJECT_CREATION'; } | { type: 'PROJECT_CREATION_SUCCESS'; } | { type: 'PROJECT_CREATION_ERROR'; payload: string; } | { type: 'START_UPLOAD'; } | { type: 'UPLOAD_SUCCESS'; payload: UploadAndDeployResult; } | { type: 'UPLOAD_ERROR'; payload: string; } | { type: 'START_INSTALL_APP'; } | { type: 'INSTALL_APP_DONE'; } | { type: 'INSTALL_APP_ERROR'; payload: string; } | { type: 'SET_BROWSER_FAILED_URL'; payload: string; } | { type: 'SET_POLLING_TIMED_OUT'; payload: boolean; }; export declare function flowReducer(state: FlowState, action: FlowAction): FlowState; export {};