import { CredentialsConfig } from '../services/credentials.js'; export declare const PARAMS_SYMBOL: unique symbol; export type BasicParamType = 'string' | 'enum' | 'number' | 'boolean' | 'selector'; export type AdvancedParamType = 'json' | 'javascript' | 'definition' | 'template' | 'keys' | 'recordset' | 'pipeline' | 'button' | 'outcome' | 'ref' | 'credentials'; export type ParamType = BasicParamType | AdvancedParamType; export type StringSource = 'attributes' | 'classList' | 'inputs' | 'outputs' | 'globals' | 'locals' | 'dataPaths' | 'errorCodes'; export interface ParamSpec { type: BasicParamType | AdvancedParamType; name: string; serialized: boolean; label?: string; help?: string; placeholder?: string; [key: string]: any; } export declare function String(spec?: { source?: StringSource; label?: string; help?: string; placeholder?: string; showInHeader?: boolean; }): (target: any, propertyKey: string) => void; export declare function Enum(spec: { enum: string[] | Array<{ label: string; value: string; }>; label?: string; help?: string; placeholder?: string; showInHeader?: boolean; }): (target: any, propertyKey: string) => void; export declare function Number(spec?: { label?: string; help?: string; placeholder?: string; min?: number; max?: number; showInHeader?: boolean; }): (target: any, propertyKey: string) => void; export declare function Boolean(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function Selector(spec?: { label?: string; help?: string; showInHeader?: boolean; }): (target: any, propertyKey: string) => void; export declare function Json(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function JavaScript(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function Definition(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function ParamRef(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function Template(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function Keys(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function Pipeline(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function Recordset(spec: { label?: string; help?: string; singular: string; fields: RecordsetField[]; }): (target: any, propertyKey: string) => void; export declare function Button(spec?: { label?: string; help?: string; }): (target: any, propertyKey: string) => void; export declare function Credentials(spec: CredentialsParamSpec): (target: any, propertyKey: string) => void; export type CredentialsParamSpec = { label?: string; help?: string; icon?: string; providerName: string; configs: CredentialsConfig | CredentialsConfig[]; }; export declare function Outcome(spec?: { label?: string; placeholder?: string; outputKeyProp?: string; hidden?: boolean; }): (target: any, propertyKey: string) => void; export declare const Preview: typeof Outcome; export interface RecordsetField { type: BasicParamType; name: string; source?: StringSource; value?: any; label?: string; enum?: string[]; min?: number; max?: number; placeholder?: string; } export declare function getAllParams(target: any): ParamSpec[]; //# sourceMappingURL=params.d.ts.map