export type MarkerDelimitedBlockConfig = {
    beginMarker: string;
    endMarker: string;
    block: string;
};
export type MarkerDelimitedBlockState = {
    hasBegin: boolean;
    hasEnd: boolean;
    completeBlockCount: number;
};
export type MarkerDelimitedBlockIssueOptions = {
    configuredLabel: string;
    repairCommand: string;
};
export type InstallMarkerDelimitedBlockResult = {
    filePath: string;
    backupPath?: string;
};
export type UninstallMarkerDelimitedBlockResult = {
    filePath: string;
    removed: boolean;
};
export declare function inspectMarkerDelimitedBlock(text: string, config: MarkerDelimitedBlockConfig): MarkerDelimitedBlockState;
export declare function collectMarkerDelimitedBlockIssues(state: MarkerDelimitedBlockState, options: MarkerDelimitedBlockIssueOptions): string[];
export declare function removeMarkerDelimitedBlock(text: string, config: MarkerDelimitedBlockConfig): {
    text: string;
    removed: boolean;
};
export declare function upsertMarkerDelimitedBlock(text: string, config: MarkerDelimitedBlockConfig): string;
export declare function installMarkerDelimitedBlock(filePath: string, config: MarkerDelimitedBlockConfig): Promise<InstallMarkerDelimitedBlockResult>;
export declare function uninstallMarkerDelimitedBlock(filePath: string, config: MarkerDelimitedBlockConfig): Promise<UninstallMarkerDelimitedBlockResult>;
