import Long from "long";
import { BrsType, BrsBoolean } from ".";
import { BrsNumber, Numeric } from "./BrsNumber";
import { ValueKind, Comparable } from "./BrsType";
import { Float } from "./Float";
import { Double } from "./Double";
import { Boxable } from "./Boxing";
import { RoLongInteger } from "./components/RoLongInteger";
export declare class Int64 implements Numeric, Comparable, Boxable {
    inArray: boolean;
    readonly kind = ValueKind.Int64;
    private readonly value;
    getValue(): Long;
    toBoolean(): boolean;
    /**
     * Creates a new BrightScript 64-bit integer value representing the provided `value`.
     * @param value the value to store in the BrightScript integer.
     */
    constructor(value: number | Long, inArray?: boolean);
    /**
     * Creates a new BrightScript 64-bit integer value representing the integer contained in
     * `asString`.
     * @param asString the string representation of the value to store in the BrightScript 64-bit
     *                 int. Will be rounded to the nearest 64-bit integer.
     * @returns a BrightScript 64-bit integer value representing `asString`.
     */
    static fromString(asString: string): Int64;
    add(rhs: BrsNumber): BrsNumber;
    subtract(rhs: BrsNumber): BrsNumber;
    multiply(rhs: BrsNumber): BrsNumber;
    divide(rhs: BrsNumber): Float | Double;
    modulo(rhs: BrsNumber): Int64;
    intDivide(rhs: BrsNumber): Int64;
    leftShift(rhs: BrsNumber): Int64;
    rightShift(rhs: BrsNumber): Int64;
    pow(exponent: BrsNumber): BrsNumber;
    and(rhs: BrsNumber | BrsBoolean): BrsNumber | BrsBoolean;
    or(rhs: BrsNumber | BrsBoolean): BrsNumber | BrsBoolean;
    not(): BrsNumber;
    lessThan(other: BrsType): BrsBoolean;
    greaterThan(other: BrsType): BrsBoolean;
    equalTo(other: BrsType): BrsBoolean;
    toString(parent?: BrsType): string;
    box(): RoLongInteger;
}
