import { BrsValue, ValueKind, BrsInvalid, BrsBoolean } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { BrsEvent, BrsType } from "..";
import { Interpreter } from "../../interpreter";
export declare class RoMessagePort extends BrsComponent implements BrsValue {
    readonly kind = ValueKind.Object;
    private readonly messageQueue;
    private readonly callbackQueue;
    private readonly callbackMap;
    constructor();
    pushMessage(object: BrsEvent): void;
    pushCallback(callback: Function): void;
    registerCallback(component: string, callback: Function): void;
    unregisterCallback(component: string): void;
    asyncCancel(): void;
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    wait(interpreter: Interpreter, ms: number): BrsInvalid | BrsEvent;
    private updateMessageQueue;
    private getNextMessage;
    /** Waits until an event object is available or timeout milliseconds have passed. */
    private readonly waitMessage;
    /** If an event object is available, it is returned. Otherwise invalid is returned. */
    private readonly getMessage;
    /** Similar to GetMessage() but the returned object (if not invalid) remains in the message queue. */
    private readonly peekMessage;
}
