import { type NodeInstance, type TriggerInstance, type NodeConfig, type NodeInput, type TriggerInput, type StickyNoteConfig, type PlaceholderValue, type NewCredentialValue, type InputTarget, type OutputSelector, type IfElseBuilder, type SwitchCaseBuilder } from '../../types/base';
export declare function isInputTarget(value: unknown): value is InputTarget;
export declare function isOutputSelector(value: unknown): value is OutputSelector<string, string, unknown>;
export declare function isIfElseBuilder(value: unknown): value is IfElseBuilder<unknown>;
export declare function isSwitchCaseBuilder(value: unknown): value is SwitchCaseBuilder<unknown>;
export declare function node<TNode extends NodeInput>(input: TNode): NodeInstance<TNode['type'], `${TNode['version']}`, unknown>;
export interface IfElseFactoryConfig {
    version: number;
    config?: NodeConfig;
}
export declare function ifElse<TOutput = unknown>(input: IfElseFactoryConfig): NodeInstance<'n8n-nodes-base.if', string, TOutput>;
export interface MergeFactoryConfig {
    version: number;
    config?: NodeConfig;
}
export declare function merge<TOutput = unknown>(input: MergeFactoryConfig): NodeInstance<'n8n-nodes-base.merge', string, TOutput>;
export interface SwitchCaseFactoryConfig {
    version: number;
    config?: NodeConfig;
}
export declare function switchCase<TOutput = unknown>(input: SwitchCaseFactoryConfig): NodeInstance<'n8n-nodes-base.switch', string, TOutput>;
export declare function trigger<TTrigger extends TriggerInput>(input: TTrigger): TriggerInstance<TTrigger['type'], `${TTrigger['version']}`, unknown>;
export declare function sticky(content: string, nodesOrConfig?: Array<NodeInstance<string, string, unknown>> | StickyNoteConfig, config?: StickyNoteConfig): NodeInstance<'n8n-nodes-base.stickyNote', 'v1', void>;
export declare function placeholder(hint: string): PlaceholderValue;
export declare function newCredential(name: string): NewCredentialValue;
export declare function cloneNodeWithId(instance: NodeInstance<string, string, unknown>, newId: string): NodeInstance<string, string, unknown>;
