export declare class Packet {
    status: PacketStatus;
    meta: PacketMeta;
    dataBuffer: Uint8Array;
    fieldsBuffer: Uint8Array;
    crafted: PacketCrafted;
    Error: Error;
}
interface PacketStatus {
    handshakeBaked: boolean;
    pingSent: boolean;
    pingBaked: boolean;
    pingSentTime: number;
}
interface PacketMeta {
    packetInitialized: boolean;
    metaCrafted: boolean;
    fieldsCrafted: boolean;
    packetID: number;
    dataLength: number;
    fullLength: number;
    metaLength: number;
}
interface PacketCrafted {
    data: string;
    latency: number;
}
interface _ServerStatusOptions {
    port?: number;
    timeout?: number;
    ping?: boolean;
    protocolVersion?: number;
    throwOnParseError?: boolean;
    SRVLookup?: boolean;
    JSONParse?: boolean;
}
type NotBoth = {
    host: string;
    hostname?: never;
} | {
    host?: never;
    hostname: string;
};
export type ServerStatusOptions = _ServerStatusOptions & NotBoth;
export declare class ServerStatus {
    constructor(statusRaw: string, latency?: number, throwOnParseError?: boolean, JSONParse?: boolean);
    latency: number | null;
    status: DynamicObject | null;
    statusRaw: string;
}
export type DynamicObject = {
    [key: string]: any;
};
export {};
//# sourceMappingURL=types.d.ts.map