/**
 * Display ver10 module
 * @author Andrew D.Laptev <a.d.laptev@gmail.com>
 * @see https://www.onvif.org/ver10/display.wsdl
 */
import { Onvif } from './onvif';
import Service from './service';
import { PaneConfiguration } from './interfaces/onvif';
import { ReferenceToken } from './interfaces/common';
import { Capabilities, CreatePaneConfiguration, DeletePaneConfiguration, GetDisplayOptions, GetDisplayOptionsResponse, GetLayout, GetPaneConfiguration, GetPaneConfigurations, SetLayout, SetPaneConfiguration, SetPaneConfigurations } from './interfaces/display';
/**
 * Display service
 */
export default class Display extends Service {
    constructor(onvif: Onvif);
    private static paneLayoutToBuild;
    private static layoutToBuild;
    private static audioEncoderConfigurationToBuild;
    private static paneConfigurationToBuild;
    private static paneConfigurationsToBuild;
    /**
     * Returns the capabilities of the display service.
     */
    getServiceCapabilities(): Promise<Capabilities>;
    /**
     * Returns the current layout of a video output.
     * @param options
     */
    getLayout({ videoOutput }: GetLayout): Promise<any>;
    /**
     * Sets the layout of a video output.
     * @param options
     */
    setLayout({ videoOutput, layout }: SetLayout): Promise<void>;
    /**
     * Returns display options for a video output.
     * @param options
     */
    getDisplayOptions({ videoOutput }: GetDisplayOptions): Promise<GetDisplayOptionsResponse>;
    /**
     * Returns pane configurations for a video output.
     * @param options
     */
    getPaneConfigurations({ videoOutput }: GetPaneConfigurations): Promise<PaneConfiguration[]>;
    /**
     * Returns a pane configuration for a video output.
     * @param options
     */
    getPaneConfiguration({ videoOutput, pane }: GetPaneConfiguration): Promise<PaneConfiguration>;
    /**
     * Sets pane configurations for a video output.
     * @param options
     */
    setPaneConfigurations({ videoOutput, paneConfiguration }: SetPaneConfigurations): Promise<void>;
    /**
     * Sets a pane configuration for a video output.
     * @param options
     */
    setPaneConfiguration({ videoOutput, paneConfiguration }: SetPaneConfiguration): Promise<void>;
    /**
     * Creates a pane configuration on a video output.
     * @param options
     */
    createPaneConfiguration({ videoOutput, paneConfiguration }: CreatePaneConfiguration): Promise<ReferenceToken>;
    /**
     * Deletes a pane configuration from a video output.
     * @param options
     */
    deletePaneConfiguration({ videoOutput, paneToken }: DeletePaneConfiguration): Promise<void>;
}
