import { vec } from "mafs";
import { type I18nContextType } from "../../../components/i18n-context";
import type { SinusoidGraphState, Dispatch, InteractiveGraphElementSuite } from "../types";
import type { NamedSineCoefficient } from "@khanacademy/kmath";
import type { Coord } from "@khanacademy/perseus-core";
export declare function renderSinusoidGraph(state: SinusoidGraphState, dispatch: Dispatch, i18n: I18nContextType): InteractiveGraphElementSuite;
export declare const getSinusoidKeyboardConstraint: (coords: ReadonlyArray<Coord>, snapStep: vec.Vector2, pointIndex: number) => {
    up: vec.Vector2;
    down: vec.Vector2;
    left: vec.Vector2;
    right: vec.Vector2;
};
export declare const computeSine: (x: number, // x-coordinate
sinusoidCoefficients: NamedSineCoefficient) => number;
export declare const getSinusoidCoefficients: (coords: ReadonlyArray<Coord>) => NamedSineCoefficient | undefined;
