import { RequestHeader, ResponseHeader } from "../header";
import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bosdyn.api.spot_cam";
/** Power on or off of components of the SpotCam. */
export interface PowerStatus {
    /** these switches are 'true' for power-on, 'false' for power-off */
    ptz: boolean | undefined;
    aux1: boolean | undefined;
    aux2: boolean | undefined;
    externalMic: boolean | undefined;
}
/** Request component power status. */
export interface GetPowerStatusRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
}
/** Provides the power status of all components. */
export interface GetPowerStatusResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /**
     * status indicates the power status of the controllable devices
     * 'true' for power-on, 'false' for power-off
     */
    status: PowerStatus | undefined;
}
/** Turn components on or off. */
export interface SetPowerStatusRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /**
     * status indicates the requested power status of the controllable devices
     * 'true' for power-on, 'false' for power-off
     */
    status: PowerStatus | undefined;
}
/** Result of turning components on or off. */
export interface SetPowerStatusResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /**
     * status indicates the requested changes upon success
     * 'true' for power-on, 'false' for power-off
     */
    status: PowerStatus | undefined;
}
/** Turn components off and then back on without needing two separate requests. */
export interface CyclePowerRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /**
     * status indicates the devices for which cycle-power is requested
     * 'true' for cycle-power, else no effect
     * power cycle will not be performed on a given device if its state is power-off prior to this call
     */
    status: PowerStatus | undefined;
}
/** Result of power cycling components. */
export interface CyclePowerResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /**
     * status indicates the power status of the controllable devices after a successful power cycle
     * 'true' for power-on, 'false' for power-off
     */
    status: PowerStatus | undefined;
}
export declare const PowerStatus: {
    encode(message: PowerStatus, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): PowerStatus;
    fromJSON(object: any): PowerStatus;
    toJSON(message: PowerStatus): unknown;
    fromPartial<I extends {
        ptz?: boolean | undefined;
        aux1?: boolean | undefined;
        aux2?: boolean | undefined;
        externalMic?: boolean | undefined;
    } & {
        ptz?: boolean | undefined;
        aux1?: boolean | undefined;
        aux2?: boolean | undefined;
        externalMic?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof PowerStatus>]: never; }>(object: I): PowerStatus;
};
export declare const GetPowerStatusRequest: {
    encode(message: GetPowerStatusRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetPowerStatusRequest;
    fromJSON(object: any): GetPowerStatusRequest;
    toJSON(message: GetPowerStatusRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, "header">]: never; }>(object: I): GetPowerStatusRequest;
};
export declare const GetPowerStatusResponse: {
    encode(message: GetPowerStatusResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): GetPowerStatusResponse;
    fromJSON(object: any): GetPowerStatusResponse;
    toJSON(message: GetPowerStatusResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        status?: {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("../header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        status?: ({
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & { [K_5 in Exclude<keyof I["status"], keyof PowerStatus>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof GetPowerStatusResponse>]: never; }>(object: I): GetPowerStatusResponse;
};
export declare const SetPowerStatusRequest: {
    encode(message: SetPowerStatusRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SetPowerStatusRequest;
    fromJSON(object: any): SetPowerStatusRequest;
    toJSON(message: SetPowerStatusRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        status?: {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        status?: ({
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & { [K_1 in Exclude<keyof I["status"], keyof PowerStatus>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof SetPowerStatusRequest>]: never; }>(object: I): SetPowerStatusRequest;
};
export declare const SetPowerStatusResponse: {
    encode(message: SetPowerStatusResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SetPowerStatusResponse;
    fromJSON(object: any): SetPowerStatusResponse;
    toJSON(message: SetPowerStatusResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        status?: {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("../header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        status?: ({
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & { [K_5 in Exclude<keyof I["status"], keyof PowerStatus>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof SetPowerStatusResponse>]: never; }>(object: I): SetPowerStatusResponse;
};
export declare const CyclePowerRequest: {
    encode(message: CyclePowerRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CyclePowerRequest;
    fromJSON(object: any): CyclePowerRequest;
    toJSON(message: CyclePowerRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        status?: {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        status?: ({
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & { [K_1 in Exclude<keyof I["status"], keyof PowerStatus>]: never; }) | undefined;
    } & { [K_2 in Exclude<keyof I, keyof CyclePowerRequest>]: never; }>(object: I): CyclePowerRequest;
};
export declare const CyclePowerResponse: {
    encode(message: CyclePowerResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): CyclePowerResponse;
    fromJSON(object: any): CyclePowerResponse;
    toJSON(message: CyclePowerResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        status?: {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("../header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        status?: ({
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & {
            ptz?: boolean | undefined;
            aux1?: boolean | undefined;
            aux2?: boolean | undefined;
            externalMic?: boolean | undefined;
        } & { [K_5 in Exclude<keyof I["status"], keyof PowerStatus>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof CyclePowerResponse>]: never; }>(object: I): CyclePowerResponse;
};
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
declare type KeysOfUnion<T> = T extends T ? keyof T : never;
export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export {};
//# sourceMappingURL=power.d.ts.map