import { GASPInitialReply, GASPInitialRequest, GASPInitialResponse, GASPNode, GASPNodeResponse, GASPRemote } from '@bsv/gasp';
export declare class OverlayGASPRemote implements GASPRemote {
    endpointURL: string;
    topic: string;
    constructor(endpointURL: string, topic: string);
    /**
     * Given an outgoing initial request, sends the request to the foreign instance and obtains their initial response.
     * @param request
     * @returns
     */
    getInitialResponse(request: GASPInitialRequest): Promise<GASPInitialResponse>;
    /**
     * Given an outgoing txid, outputIndex and optional metadata, request the associated GASP node from the foreign instance.
     * @param graphID
     * @param txid
     * @param outputIndex
     * @param metadata
     * @returns
     */
    requestNode(graphID: string, txid: string, outputIndex: number, metadata: boolean): Promise<GASPNode>;
    getInitialReply(response: GASPInitialResponse): Promise<GASPInitialReply>;
    submitNode(node: GASPNode): Promise<void | GASPNodeResponse>;
}
//# sourceMappingURL=OverlayGASPRemote.d.ts.map