import { Duration, Timezone } from 'chronoshift';
import { PlywoodValue } from '../datatypes';
import { SQLDialect } from '../dialect/baseDialect';
import { ChainableExpression, Expression, ExpressionJS, ExpressionValue } from './baseExpression';
export declare class TimeBucketExpression extends ChainableExpression {
    static op: string;
    static fromJS(parameters: ExpressionJS): TimeBucketExpression;
    duration: Duration;
    timezone: Timezone;
    bounds: string;
    constructor(parameters: ExpressionValue);
    valueOf(): ExpressionValue;
    toJS(): ExpressionJS;
    equals(other: TimeBucketExpression | undefined): boolean;
    protected _toStringParameters(_indent?: int): string[];
    protected _calcChainableHelper(operandValue: any): PlywoodValue;
    protected _getSQLChainableHelper(dialect: SQLDialect, operandSQL: string): string;
    changeBounds(bounds: string): Expression;
    getTimezone: () => Timezone;
    changeTimezone: (timezone: Timezone) => this;
}
//# sourceMappingURL=timeBucketExpression.d.ts.map