import type { ExecutionContext, TypedExecutionContext } from '../../types/core';
import type { ASTNode, ExpressionNode } from '../../types/base-types';
import type { ExpressionEvaluator } from '../../core/expression-evaluator';
import { type MorphOptions } from '../../lib/morph-adapter';
import type { SwapStrategy } from './swap';
import { type DecoratedCommand, type CommandMetadata } from '../decorators';
import type { PartialValidationResult } from '../../validation/partial-validation-types';
export interface ParsedPartial {
    target: string;
    strategy: SwapStrategy;
    content: string;
}
export interface ProcessPartialsCommandInput {
    html: string;
    useViewTransition?: boolean;
    morphOptions?: MorphOptions;
}
export interface ProcessPartialsResult {
    count: number;
    targets: string[];
    errors: string[];
    validationWarnings: string[];
    validationDetails?: Record<string, PartialValidationResult>;
}
export declare function extractPartials(html: string): ParsedPartial[];
export declare function processPartials(html: string, morphOptions?: MorphOptions): ProcessPartialsResult;
export declare class ProcessPartialsCommand implements DecoratedCommand {
    readonly name: string;
    readonly metadata: CommandMetadata;
    parseInput(raw: {
        args: ASTNode[];
        modifiers: Record<string, ExpressionNode>;
    }, evaluator: ExpressionEvaluator, context: ExecutionContext): Promise<ProcessPartialsCommandInput>;
    execute(input: ProcessPartialsCommandInput, context: TypedExecutionContext): Promise<ProcessPartialsResult>;
}
export declare const createProcessPartialsCommand: () => ProcessPartialsCommand;
export declare const processPartialsCommand: ProcessPartialsCommand;
export default ProcessPartialsCommand;
//# sourceMappingURL=process-partials.d.ts.map