/**
 * @class
 * <p>
 * {@link https://www.onvif.org/specs/srv/media/ONVIF-Media2-Service-Spec-v1712.pdf}<br>
 * {@link https://www.onvif.org/ver20/media/wsdl/media.wsdl}<br>
 * </p>
 */
export default class Media2 {
    private readonly soap;
    private timeDiff;
    private serviceAddress;
    private username;
    private password;
    private readonly namespaceAttributes;
    /**
     * Call this function directly after instantiating a Media2 object.
     * @param timeDiff The onvif device's time difference.
     * @param serviceAddress An url object from url package - require('url').
     * @param username Optional only if the device does NOT have a user.
     * @param password Optional only if the device does NOT have a password.
     */
    init(timeDiff: number, serviceAddress: object, username: string | undefined, password: string | undefined): void;
    /**
     * Private function for creating a SOAP request.
     * @param body The body of the xml.
     */
    private createRequest;
    getProfiles(): Promise<{
        raw?: boolean;
        soap?: string;
        parsed?: any;
    } | {
        soap: string;
        schemas: any;
        data: any;
    }>;
    getSnapshotUri(profileToken: string): Promise<{
        raw?: boolean;
        soap?: string;
        parsed?: any;
    } | {
        soap: string;
        schemas: any;
        data: any;
    }>;
}
