import { DataSource, Dimension } from '@sisense/sdk-data'; /** * States of a data source dimensions load. */ export type DataSourceDimensionsState = DataSourceDimensionsLoadingState | DataSourceDimensionsErrorState | DataSourceDimensionsSuccessState; /** * State of data source dimensions that is loading. */ export type DataSourceDimensionsLoadingState = { /** Whether the dimensions are loading */ isLoading: true; /** Whether the dimensions load has failed */ isError: false; /** Whether the dimensions load has succeeded */ isSuccess: false; /** Error, if one occurred */ error: undefined; /** Dimensions, if the load succeeded */ dimensions: undefined; /** Loading status */ status: 'loading'; }; /** * State of a data source dimensions load that has failed. */ export type DataSourceDimensionsErrorState = { /** Whether the dimensions are loading */ isLoading: false; /** Whether the dimensions load has failed */ isError: true; /** Whether the dimensions load has succeeded */ isSuccess: false; /** Error, if one occurred */ error: Error; /** Dimensions, if the load succeeded */ dimensions: undefined; /** Loading status */ status: 'error'; }; /** * State of a data source dimensions load that has succeeded. */ export type DataSourceDimensionsSuccessState = { /** Whether the dimensions are loading */ isLoading: false; /** Whether the dimensions load has failed */ isError: false; /** Whether the dimensions load has succeeded */ isSuccess: true; /** Error, if one occurred */ error: undefined; /** Dimensions, if the load succeeded */ dimensions: Dimension[]; /** Loading status */ status: 'success'; }; /** * Parameters for {@link useGetDataSourceDimensions} hook. */ export interface GetDataSourceDimensionsParams { /** The data source to get the dimensions for. If no data source is provided, the default data source will be used. */ dataSource: DataSource | undefined; /** Whether the query should be enabled. */ enabled?: boolean; /** The number of items to return */ count?: number; /** The offset for pagination */ offset?: number; /** The search value to filter by */ searchValue?: string; } /** * Gets the dimensions of a data source. * * @param params - The parameters for getting the dimensions * @returns The dimensions state */ export declare const useGetDataSourceDimensions: (params: GetDataSourceDimensionsParams) => DataSourceDimensionsState;