import type { ICommand } from './Interfaces/ICommand';
/**
 * @public
 *
 * Represents a command that can be executed.
 */
export declare class Command<T = void> implements ICommand<T> {
    private readonly _executeMethod;
    private readonly _canExecuteMethod;
    /**
     * Constructs a new instance of the `Command` class.
     *
     * @public
     */
    constructor(executeMethod: (parameter: T) => void, canExecuteMethod?: (parameter: T) => boolean);
    /**
     * Executes the command.
     *
     * @public
     * @param parameter - The parameter.
     */
    execute(parameter: T): void;
    /**
     * Determines whether the command can be executed.
     *
     * @public
     * @param parameter - The parameter.
     * @returns `true` if the command can be executed; otherwise, `false`.
     */
    canExecute(parameter: T): boolean;
}
//# sourceMappingURL=Command.d.ts.map