<!-- Public documentation export; not library implementation source. -->
# IStudyApi

[Integration guide](https://docs.lumencharts.com/charting-library/studies/) · [Reference index](https://docs.lumencharts.com/charting-library/api/)

Public contract reference. This declaration describes types and callback shapes; availability is constrained by the linked integration guide and the runtime capability. Legacy product-specific fields are not a promise of implementation.

## isUserEditEnabled {#isusereditenabled}

```ts
isUserEditEnabled(): boolean;
```

Use the type signature above and the integration guide for the owning capability.

## setUserEditEnabled {#setusereditenabled}

```ts
setUserEditEnabled(enabled: boolean): void;
```

Use the type signature above and the integration guide for the owning capability.

| Parameter | Type | Required |
| --- | --- | --- |
| `enabled` | `boolean` | Yes |

## getInputsInfo {#getinputsinfo}

```ts
getInputsInfo(): StudyInputInformation[];
```

Use the type signature above and the integration guide for the owning capability.

## getInputValues {#getinputvalues}

```ts
getInputValues(): StudyInputValueItem[];
```

Use the type signature above and the integration guide for the owning capability.

## setInputValues {#setinputvalues}

```ts
setInputValues(values: StudyInputValueItem[]): void;
```

Use the type signature above and the integration guide for the owning capability.

| Parameter | Type | Required |
| --- | --- | --- |
| `values` | `StudyInputValueItem[]` | Yes |

## getStyleInfo {#getstyleinfo}

```ts
getStyleInfo(): StudyStyleInfo;
```

Use the type signature above and the integration guide for the owning capability.

## getStyleValues {#getstylevalues}

```ts
getStyleValues(): StudyStyleValues;
```

Use the type signature above and the integration guide for the owning capability.

## mergeUp {#mergeup}

```ts
mergeUp(): void;
```

Use the type signature above and the integration guide for the owning capability.

## mergeDown {#mergedown}

```ts
mergeDown(): void;
```

Use the type signature above and the integration guide for the owning capability.

## unmergeUp {#unmergeup}

```ts
unmergeUp(): void;
```

Use the type signature above and the integration guide for the owning capability.

## unmergeDown {#unmergedown}

```ts
unmergeDown(): void;
```

Use the type signature above and the integration guide for the owning capability.

## changePriceScale {#changepricescale}

```ts
changePriceScale(newPriceScale: StudyPriceScale | EntityId): void;
```

Use the type signature above and the integration guide for the owning capability.

| Parameter | Type | Required |
| --- | --- | --- |
| `newPriceScale` | `StudyPriceScale &#124; EntityId` | Yes |

## isVisible {#isvisible}

```ts
isVisible(): boolean;
```

Use the type signature above and the integration guide for the owning capability.

## setVisible {#setvisible}

```ts
setVisible(visible: boolean): void;
```

Use the type signature above and the integration guide for the owning capability.

| Parameter | Type | Required |
| --- | --- | --- |
| `visible` | `boolean` | Yes |

## bringToFront {#bringtofront}

```ts
bringToFront(): void;
```

Use the type signature above and the integration guide for the owning capability.

## sendToBack {#sendtoback}

```ts
sendToBack(): void;
```

Use the type signature above and the integration guide for the owning capability.

## applyOverrides {#applyoverrides}

```ts
applyOverrides<TOverrides extends Partial<SingleIndicatorOverrides>>(
    overrides: TOverrides,
  ): void;
```

Use the type signature above and the integration guide for the owning capability.

| Parameter | Type | Required |
| --- | --- | --- |
| `overrides` | `TOverrides` | Yes |

## applyToEntireLayout {#applytoentirelayout}

```ts
applyToEntireLayout(): void;
```

Use the type signature above and the integration guide for the owning capability.

## onDataLoaded {#ondataloaded}

```ts
onDataLoaded(): ISubscription<() => void>;
```

Use the type signature above and the integration guide for the owning capability.

## onStudyError {#onstudyerror}

```ts
onStudyError(): ISubscription<() => void>;
```

Use the type signature above and the integration guide for the owning capability.

## Related types

- [StudyInputInformation](https://docs.lumencharts.com/charting-library/api/StudyInputInformation)
- [StudyInputValueItem](https://docs.lumencharts.com/charting-library/api/StudyInputValueItem)
- [StudyStyleInfo](https://docs.lumencharts.com/charting-library/api/StudyStyleInfo)
- [StudyStyleValues](https://docs.lumencharts.com/charting-library/api/StudyStyleValues)
- [StudyPriceScale](https://docs.lumencharts.com/charting-library/api/StudyPriceScale)
- [EntityId](https://docs.lumencharts.com/charting-library/api/EntityId)
- [SingleIndicatorOverrides](https://docs.lumencharts.com/charting-library/api/indicator-overrides#singleindicatoroverrides)
- [ISubscription](https://docs.lumencharts.com/charting-library/api/ISubscription)

---
Documentation page: https://docs.lumencharts.com/charting-library/api/IStudyApi
