import { Store, Unit, UnitTargetable, EventAsReturnType } from 'effector';
export declare function debounce<T>(source: Unit<T>, timeout: number | Store<number>): EventAsReturnType<T>;
export declare function debounce<T>(_: {
    source: Unit<T>;
    timeout: number | Store<number>;
    name?: string;
}): EventAsReturnType<T>;
export declare function debounce<T, Target extends UnitTargetable<T> | UnitTargetable<void>>(_: {
    source: Unit<T>;
    timeout: number | Store<number>;
    target: Target;
    name?: string;
}): Target;
