import type { ICopy, IEmpty } from "@thi.ng/api"; import type { Frame, IRamp, RampBounds, RampDomain, RampImpl, RampOpts } from "./api.js"; /** * Syntax sugar for {@link Ramp} constructor using the given ramp interpolation * `impl`, keyframes `stops` (minimum 2) and options. * * @param impl * @param stops * @param opts */ export declare const ramp: (impl: RampImpl, stops: Frame[], opts?: Partial) => Ramp; export declare class Ramp implements ICopy>, IEmpty>, IRamp { impl: RampImpl; stops: Frame[]; domain: RampDomain; constructor(impl: RampImpl, stops: Frame[], opts?: Partial); copy(): Ramp; empty(): Ramp; /** * Samples the ramp at given time `t` and returns interpolated value. * * @remarks * The given `t` is first processed by the configured time * {@link Ramp.domain} function. * * @param t */ at(t: number): T; samples(n?: number, start?: number, end?: number): Iterable>; bounds(): RampBounds; timeBounds(): [number, number]; setStopAt(t: number, val: T, eps?: number): boolean; removeStopAt(t: number, eps?: number): boolean; removeStopAtIndex(i: number): boolean; closestIndex(t: number, eps?: number): number; clampedIndexTime(i: number, t: number, eps?: number): number; sort(): void; uniform(): void; protected timeIndex(t: number): number; } //# sourceMappingURL=ramp.d.ts.map