import { DataSource } from 'typeorm';
import { Driver } from './Driver.js';
import { ParamMetadata } from './metadata/ParamMetadata.js';
import { ParamConstructorMetadata } from './metadata/ParamConstructorMetadata.js';
import { Action } from './Action.js';
/**
 * Handles action parameter.
 */
export declare class ActionParameterHandler<T extends Driver> {
    private driver;
    constructor(driver: T);
    /**
     * Handles action constructor parameter.
     */
    handleConstructor(action: Action, param: ParamConstructorMetadata): DataSource;
    /**
     * Handles action parameter.
     */
    handle(action: Action, param: ParamMetadata): Promise<any> | any;
    /**
     * Normalizes parameter value.
     */
    protected normalizeParamValue(value: any, param: ParamMetadata): Promise<any>;
    /**
     * Handles non-promise value.
     */
    protected handleValue(value: any, action: Action, param: ParamMetadata): Promise<any> | any;
}
