import { type SelfModificationSetupOperations, type SelfModificationSetupValues } from "#self-modification/setup.js";
import { type SetupApplyContext, type SetupPrepareContext } from "../types.js";
type SelfModificationSetupPlan = {
    readonly kind: "authored";
} | {
    readonly kind: "local";
} | {
    readonly kind: "deployed";
    readonly connectorName: string;
    readonly values: SelfModificationSetupValues;
};
export declare function prepareSelfModificationSetup(context: SetupPrepareContext, operations?: SelfModificationSetupOperations): Promise<SelfModificationSetupPlan>;
export declare function applySelfModificationSetup(plan: SelfModificationSetupPlan, context: SetupApplyContext, operations?: SelfModificationSetupOperations): Promise<{
    facts: {
        label: string;
        value: string;
    }[];
    deploymentRequired?: undefined;
} | {
    deploymentRequired: true;
    facts: {
        label: string;
        value: string;
    }[];
}>;
export declare function prepareLocalSelfModificationSetup(context: SetupPrepareContext, operations?: SelfModificationSetupOperations): Promise<SelfModificationSetupPlan>;
export declare const SELF_MODIFICATION_SETUP: import("../types.js").SetupIntegration;
export declare const SELF_MODIFICATION_PRODUCTION_SETUP: import("../types.js").SetupIntegration;
export {};
