import { Duration, Timezone } from 'chronoshift';
import { PlywoodValue } from '../datatypes';
import { SQLDialect } from '../dialect/baseDialect';
import { ChainableExpression, Expression, ExpressionJS, ExpressionValue } from './baseExpression';
import { HasTimezone } from './mixins/hasTimezone';
export declare class TimeRangeExpression extends ChainableExpression implements HasTimezone {
    static DEFAULT_STEP: number;
    static op: string;
    static fromJS(parameters: ExpressionJS): TimeRangeExpression;
    duration: Duration;
    step: number;
    timezone: Timezone;
    bounds: string;
    constructor(parameters: ExpressionValue);
    valueOf(): ExpressionValue;
    toJS(): ExpressionJS;
    equals(other: TimeRangeExpression | undefined): boolean;
    protected _toStringParameters(_indent?: int): string[];
    getQualifiedDurationDescription(capitalize?: boolean): string;
    protected _calcChainableHelper(operandValue: any): PlywoodValue;
    protected _getSQLChainableHelper(_dialect: SQLDialect, _operandSQL: string): string;
    changeBounds(bounds: string): Expression;
    getTimezone: () => Timezone;
    changeTimezone: (timezone: Timezone) => TimeRangeExpression;
}
//# sourceMappingURL=timeRangeExpression.d.ts.map