/**
 * Snakes (active contour model)
 */
export default class Snakes {
    /**
     * @param {number} alpha Penalty for length
     * @param {number} beta Penalty for curvature
     * @param {number} gamma Penalty for conformity with image
     * @param {number} [k] Number of vertices
     */
    constructor(alpha: number, beta: number, gamma: number, k?: number);
    _alpha: number;
    _beta: number;
    _gamma: number;
    _k: number;
    _v: any[];
    _convolute(x: any, kernel: any): any[][];
    /**
     * Initialize model.
     * @param {Array<Array<Array<number>>>} x Training data
     */
    init(x: Array<Array<Array<number>>>): void;
    _g: any[];
    _energy(v: any): number;
    /**
     * Fit model.
     */
    fit(): void;
    /**
     * Returns predicted edge flags.
     * @returns {Array<Array<boolean>>} Predicted values. `true` if a pixel is edge.
     */
    predict(): Array<Array<boolean>>;
}
