import { FileContents, FileDiffMetadata, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictResolution, PostRenderPhase } from "../types.js"; import { WorkerPoolManager } from "../worker/WorkerPoolManager.js"; import "../worker/index.js"; import { HunksRenderResult } from "../renderers/DiffHunksRenderer.js"; import { MergeConflictDiffAction } from "../utils/parseMergeConflictDiffFromFile.js"; import { UnresolvedFileHunksRenderer, UnresolvedFileHunksRendererOptions } from "../renderers/UnresolvedFileHunksRenderer.js"; import { FileDiff, FileDiffOptions, FileDiffRenderProps } from "./FileDiff.js"; //#region src/components/UnresolvedFile.d.ts type RenderMergeConflictActions = (action: MergeConflictDiffAction, instance: UnresolvedFile) => HTMLElement | DocumentFragment | null | undefined; type MergeConflictActionsTypeOption = 'none' | 'default' | RenderMergeConflictActions; interface UnresolvedFileOptions extends Omit, 'diffStyle' | 'onPostRender'> { onPostRender?(node: HTMLElement, instance: UnresolvedFile, phase: PostRenderPhase): unknown; mergeConflictActionsType?: MergeConflictActionsTypeOption; onMergeConflictAction?(payload: MergeConflictActionPayload, instance: UnresolvedFile): void; onMergeConflictResolve?(file: FileContents, payload: MergeConflictActionPayload): void; maxContextLines?: number; } interface UnresolvedFileRenderProps extends Omit, 'oldFile' | 'newFile'> { file?: FileContents; actions?: (MergeConflictDiffAction | undefined)[]; markerRows?: MergeConflictMarkerRow[]; } interface UnresolvedFileHydrationProps extends Omit, 'file'> { file?: FileContents; fileContainer: HTMLElement; prerenderedHTML?: string; } interface GetOrComputeDiffProps { file: FileContents | undefined; fileDiff: FileDiffMetadata | undefined; actions: (MergeConflictDiffAction | undefined)[] | undefined; markerRows: MergeConflictMarkerRow[] | undefined; } interface ResolveConflictReturn { file: FileContents; fileDiff: FileDiffMetadata; actions: (MergeConflictDiffAction | undefined)[]; markerRows: MergeConflictMarkerRow[]; } type UnresolvedFileDataCache = GetOrComputeDiffProps; declare class UnresolvedFile extends FileDiff { options: UnresolvedFileOptions; readonly __id: string; readonly type = "unresolved-file"; protected computedCache: UnresolvedFileDataCache; private conflictActions; private markerRows; private conflictActionCache; constructor(options?: UnresolvedFileOptions, workerManager?: WorkerPoolManager | undefined, isContainerManaged?: boolean); setOptions(options: UnresolvedFileOptions | undefined): void; protected createHunksRenderer(options: UnresolvedFileOptions): UnresolvedFileHunksRenderer; protected getHunksRendererOptions(options: UnresolvedFileOptions): UnresolvedFileHunksRendererOptions; protected applyPreNodeAttributes(pre: HTMLPreElement, result: HunksRenderResult): void; cleanUp(): void; private getOrComputeDiff; hydrate(props: UnresolvedFileHydrationProps): void; rerender(): void; render(props?: UnresolvedFileRenderProps): boolean; resolveConflict(conflictIndex: number, resolution: MergeConflictResolution, fileDiff?: FileDiffMetadata | undefined): ResolveConflictReturn | undefined; private resolveConflictAndRender; private setActiveMergeConflictState; private handleMergeConflictActionClick; private renderMergeConflictActionSlots; private renderMergeConflictAction; private clearMergeConflictActionCache; } declare function getUnresolvedDiffHunksRendererOptions(options?: UnresolvedFileOptions, baseOptions?: UnresolvedFileOptions): UnresolvedFileHunksRendererOptions; //#endregion export { MergeConflictActionsTypeOption, RenderMergeConflictActions, UnresolvedFile, UnresolvedFileHydrationProps, UnresolvedFileOptions, UnresolvedFileRenderProps, getUnresolvedDiffHunksRendererOptions }; //# sourceMappingURL=UnresolvedFile.d.ts.map