import { z } from 'zod';
import { YagrN8nConfigService } from '../config/n8n-config-service.js';
import { type ToolExecutionObserver } from './observer.js';
export declare function getN8nacProcessEnv(env?: NodeJS.ProcessEnv, configService?: YagrN8nConfigService): NodeJS.ProcessEnv;
export declare function createN8nAcTool(observer?: ToolExecutionObserver): import("ai").Tool<z.ZodEffects<z.ZodObject<{
    action: z.ZodEnum<["setup_check", "init_auth", "init_project", "list", "pull", "push", "verify", "skills", "validate", "update_ai", "resolve", "skillsArgs", "skillsArgv"]>;
    n8nHost: z.ZodNullable<z.ZodString>;
    n8nApiKey: z.ZodNullable<z.ZodString>;
    projectId: z.ZodNullable<z.ZodString>;
    projectName: z.ZodNullable<z.ZodString>;
    projectIndex: z.ZodNullable<z.ZodNumber>;
    listScope: z.ZodNullable<z.ZodEnum<["all", "local", "remote", "distant"]>>;
    workflowId: z.ZodNullable<z.ZodString>;
    filename: z.ZodNullable<z.ZodString>;
    skillsArgs: z.ZodNullable<z.ZodString>;
    skillsArgv: z.ZodNullable<z.ZodArray<z.ZodString, "many">>;
    validateFile: z.ZodNullable<z.ZodString>;
    syncFolder: z.ZodNullable<z.ZodString>;
    resolveMode: z.ZodNullable<z.ZodEnum<["keep-current", "keep-incoming"]>>;
}, "strip", z.ZodTypeAny, {
    projectId: string | null;
    projectName: string | null;
    syncFolder: string | null;
    workflowId: string | null;
    action: "push" | "validate" | "verify" | "setup_check" | "init_auth" | "init_project" | "list" | "pull" | "skills" | "update_ai" | "resolve" | "skillsArgs" | "skillsArgv";
    skillsArgs: string | null;
    skillsArgv: string[] | null;
    n8nHost: string | null;
    n8nApiKey: string | null;
    projectIndex: number | null;
    listScope: "all" | "local" | "remote" | "distant" | null;
    filename: string | null;
    validateFile: string | null;
    resolveMode: "keep-current" | "keep-incoming" | null;
}, {
    projectId: string | null;
    projectName: string | null;
    syncFolder: string | null;
    workflowId: string | null;
    action: "push" | "validate" | "verify" | "setup_check" | "init_auth" | "init_project" | "list" | "pull" | "skills" | "update_ai" | "resolve" | "skillsArgs" | "skillsArgv";
    skillsArgs: string | null;
    skillsArgv: string[] | null;
    n8nHost: string | null;
    n8nApiKey: string | null;
    projectIndex: number | null;
    listScope: "all" | "local" | "remote" | "distant" | null;
    filename: string | null;
    validateFile: string | null;
    resolveMode: "keep-current" | "keep-incoming" | null;
}>, {
    projectId: string | null;
    projectName: string | null;
    syncFolder: string | null;
    workflowId: string | null;
    action: "push" | "validate" | "verify" | "setup_check" | "init_auth" | "init_project" | "list" | "pull" | "skills" | "update_ai" | "resolve" | "skillsArgs" | "skillsArgv";
    skillsArgs: string | null;
    skillsArgv: string[] | null;
    n8nHost: string | null;
    n8nApiKey: string | null;
    projectIndex: number | null;
    listScope: "all" | "local" | "remote" | "distant" | null;
    filename: string | null;
    validateFile: string | null;
    resolveMode: "keep-current" | "keep-incoming" | null;
}, unknown>, {
    workspaceRoot: string;
    next: string;
    initialized: boolean;
    configPath: string;
    workflowDir?: string;
    exitCode?: undefined;
    timedOut?: undefined;
    stdout?: undefined;
    stderr?: undefined;
    aiContextRefreshed?: undefined;
    aiContextStdout?: undefined;
    aiContextStderr?: undefined;
    note?: undefined;
} | {
    exitCode: number;
    timedOut: boolean;
    stdout: string;
    stderr: string;
    next: string;
    aiContextRefreshed?: undefined;
    aiContextStdout?: undefined;
    aiContextStderr?: undefined;
    note?: undefined;
} | {
    exitCode: number;
    timedOut: boolean;
    stdout: string;
    stderr: string;
    next?: undefined;
    aiContextRefreshed?: undefined;
    aiContextStdout?: undefined;
    aiContextStderr?: undefined;
    note?: undefined;
} | {
    exitCode: number;
    timedOut: boolean;
    stdout: string;
    stderr: string;
    aiContextRefreshed: boolean;
    aiContextStdout: string;
    aiContextStderr: string;
    next: string;
    note?: undefined;
} | {
    exitCode: number;
    timedOut: boolean;
    stdout: string;
    stderr: string;
    note: string;
    next?: undefined;
    aiContextRefreshed?: undefined;
    aiContextStdout?: undefined;
    aiContextStderr?: undefined;
}> & {
    execute: (args: {
        projectId: string | null;
        projectName: string | null;
        syncFolder: string | null;
        workflowId: string | null;
        action: "push" | "validate" | "verify" | "setup_check" | "init_auth" | "init_project" | "list" | "pull" | "skills" | "update_ai" | "resolve" | "skillsArgs" | "skillsArgv";
        skillsArgs: string | null;
        skillsArgv: string[] | null;
        n8nHost: string | null;
        n8nApiKey: string | null;
        projectIndex: number | null;
        listScope: "all" | "local" | "remote" | "distant" | null;
        filename: string | null;
        validateFile: string | null;
        resolveMode: "keep-current" | "keep-incoming" | null;
    }, options: import("ai").ToolExecutionOptions) => PromiseLike<{
        workspaceRoot: string;
        next: string;
        initialized: boolean;
        configPath: string;
        workflowDir?: string;
        exitCode?: undefined;
        timedOut?: undefined;
        stdout?: undefined;
        stderr?: undefined;
        aiContextRefreshed?: undefined;
        aiContextStdout?: undefined;
        aiContextStderr?: undefined;
        note?: undefined;
    } | {
        exitCode: number;
        timedOut: boolean;
        stdout: string;
        stderr: string;
        next: string;
        aiContextRefreshed?: undefined;
        aiContextStdout?: undefined;
        aiContextStderr?: undefined;
        note?: undefined;
    } | {
        exitCode: number;
        timedOut: boolean;
        stdout: string;
        stderr: string;
        next?: undefined;
        aiContextRefreshed?: undefined;
        aiContextStdout?: undefined;
        aiContextStderr?: undefined;
        note?: undefined;
    } | {
        exitCode: number;
        timedOut: boolean;
        stdout: string;
        stderr: string;
        aiContextRefreshed: boolean;
        aiContextStdout: string;
        aiContextStderr: string;
        next: string;
        note?: undefined;
    } | {
        exitCode: number;
        timedOut: boolean;
        stdout: string;
        stderr: string;
        note: string;
        next?: undefined;
        aiContextRefreshed?: undefined;
        aiContextStdout?: undefined;
        aiContextStderr?: undefined;
    }>;
};
//# sourceMappingURL=n8nac.d.ts.map