/**
 * Philips Hue Node - Version 1
 * Discriminator: resource=light, operation=get
 */


interface Credentials {
  philipsHueOAuth2Api: CredentialReference;
}

/** Retrieve a light */
export type PhilipsHueV1LightGetParams = {
  resource: 'light';
  operation: 'get';
/**
 * Light ID
 */
    lightId?: string | Expression<string> | PlaceholderValue;
};

export type PhilipsHueV1LightGetOutput = {
  capabilities?: {
    certified?: boolean;
    control?: {
      colorgamut?: Array<Array<number>>;
      colorgamuttype?: string;
      ct?: {
        max?: number;
        min?: number;
      };
      maxlumen?: number;
      mindimlevel?: number;
    };
    streaming?: {
      proxy?: boolean;
      renderer?: boolean;
    };
  };
  config?: {
    archetype?: string;
    direction?: string;
    'function'?: string;
    startup?: {
      configured?: boolean;
      mode?: string;
    };
  };
  manufacturername?: string;
  modelid?: string;
  name?: string;
  productid?: string;
  productname?: string;
  state?: {
    alert?: string;
    bri?: number;
    colormode?: string;
    ct?: number;
    effect?: string;
    hue?: number;
    mode?: string;
    on?: boolean;
    reachable?: boolean;
    sat?: number;
    xy?: Array<number>;
  };
  swconfigid?: string;
  swupdate?: {
    lastinstall?: string;
    state?: string;
  };
  swversion?: string;
  type?: string;
  uniqueid?: string;
};

export type PhilipsHueV1LightGetNode = {
  type: 'n8n-nodes-base.philipsHue';
  version: 1;
  credentials?: Credentials;
  config: NodeConfig<PhilipsHueV1LightGetParams>;
  output?: Items<PhilipsHueV1LightGetOutput>;
};