import type { AuthType, CorbadoApp, ProcessCommon } from '@corbado/web-core'; import { CorbadoError } from '@corbado/web-core'; import type { ProcessResponse, RequestError } from '@corbado/web-core/dist/api/v2'; import type { Result } from 'ts-results'; import type { BlockTypes, ScreenNames } from '../constants'; import type { ErrorTranslator } from '../errorTranslator'; import type { ProcessHandler } from '../processHandler'; export declare abstract class Block { abstract readonly data: A; abstract readonly type: BlockTypes; abstract readonly initialScreen: ScreenNames; abstract readonly authType: AuthType; protected readonly app: CorbadoApp; readonly flowHandler: ProcessHandler; readonly errorTranslator: ErrorTranslator; readonly common: ProcessCommon; alternatives: Block[]; error?: CorbadoError; constructor(app: CorbadoApp, flowHandler: ProcessHandler, common: ProcessCommon, errorTranslator: ErrorTranslator); protected updateScreen(newScreen: ScreenNames): void; protected updateProcess(processUpdateRes: Result): void; protected updateProcessFrontend(newPrimaryBlock: Block, newAlternatives?: Block[]): void; protected static getFormattedPhoneNumber(raw: string): string; setAlternatives(alternatives: Block[]): void; setError(error: RequestError): void; init(): void; confirmAbort(): Promise; cancelAbort(originalBlock: Block): void; }