/**
 * Spike encoding layer
 */
export default class SpikeEncodingLayer extends Layer {
    /**
     * @param {object} config object
     * @param {number} config.size Size of spike train
     * @param {string} [config.method] Encoding method
     * @param {number} [config.max_freq] Max spike frequency
     * @param {number} [config.dt] Time resolution
     */
    constructor({ size, method, max_freq, dt, ...rest }: {
        size: number;
        method?: string;
        max_freq?: number;
        dt?: number;
    });
    _size: number;
    _method: string;
    _max_freq: number;
    _data_range: number[];
    _dt: number;
    calc(x: any): Tensor<number> | Matrix<T>;
    _i: any;
    grad(): any;
    toObject(): {
        type: string;
        size: number;
        method: string;
        max_freq: number;
        dt: number;
    };
}
import Layer from './base.js';
import Tensor from '../../../util/tensor.js';
import Matrix from '../../../util/matrix.js';
