import Response from "./Response.js";
import PipeBomb, { PipeBombOptions } from "./index.js";
export default class Context {
    serverURL: string;
    readonly instance: PipeBomb;
    private options;
    private instances;
    readonly playlistUpdateFrequency: number;
    private token;
    private privateKey;
    private serverAddress;
    private username;
    constructor(serverURL: string, instance: PipeBomb, options: PipeBombOptions);
    setHost(host: string): void;
    getHost(): string;
    getAddress(): string;
    setToken(token: string): void;
    getToken(): string;
    setUsername(username: string): void;
    getUsername(): string;
    setPrivateKey(privateKey: string): void;
    getPrivateKey(): string;
    makeRequest(method: "get" | "delete" | "head" | "options" | "post" | "put" | "patch", endpoint: string, body?: any): Promise<Response>;
    getInstanceForURI(uri: string): Promise<{
        ownInstance: boolean;
        instance: PipeBomb;
        id: string;
    }>;
    isAuthenticated(): boolean;
    getOptions(): {
        token?: string;
        privateKey?: string;
        CollectionCacheTime?: number;
        playlistUpdateFrequency?: number;
        trackCacheTime?: number;
        includeAddressInIds?: boolean;
    };
    prefixAddress(id: string, ignoreOptions?: boolean): string;
}
