import type { TParseOptions as ASTParseOptions, TWorkflowAST } from '../ast/types.js';
export interface ParseOptions extends Partial<ASTParseOptions> {
    /**
     * Name of the workflow to parse from the file.
     * Required if the file contains multiple workflows.
     */
    workflowName?: string;
    /**
     * When true, returns node types even if no workflows are found.
     * Useful for files that only contain node type definitions.
     */
    nodeTypesOnly?: boolean;
    /**
     * Project root directory. When set, tag handlers from installed
     * marketplace packs are discovered and registered before parsing.
     */
    projectDir?: string;
}
export interface ParseResult {
    ast: TWorkflowAST;
    errors: string[];
    warnings: string[];
    /**
     * All workflows found in the file (names only)
     */
    availableWorkflows: string[];
    /**
     * All workflow ASTs found in the file (for local dependency generation)
     */
    allWorkflows: TWorkflowAST[];
}
/**
 * Parse a workflow file and convert it to AST
 *
 * @param filePath - Path to the workflow file
 * @param options - Parse options including workflow name
 * @returns ParseResult with AST, errors, and warnings
 *
 * @example
 * ```typescript
 * const result = await parseWorkflow('./my-workflow.ts', {
 *   workflowName: 'myWorkflow'
 * });
 *
 * if (result.errors.length > 0) {
 *   console.error('Parse errors:', result.errors);
 * } else {
 *   console.log('Parsed workflow:', result.ast.functionName);
 * }
 * ```
 */
export declare function parseWorkflow(filePath: string, options?: ParseOptions): Promise<ParseResult>;
//# sourceMappingURL=parse.d.ts.map