import { z } from 'zod';
import { type AnyType } from './types/any';
import { LightdashMode } from './types/api';
import { type Explore } from './types/explore';
import { type CompiledField, type CustomDimension, type Dimension, type Field, type FieldId, type FilterableDimension, type ItemsMap, type Metric, type TableCalculation } from './types/field';
import { type AdditionalMetric, type MetricQuery } from './types/metricQuery';
import { OrganizationMemberRole } from './types/organizationMemberProfile';
import { DbtProjectType, ProjectType, type DbtProjectConfig } from './types/projects';
import { type ResultRow } from './types/results';
import { type Series } from './types/savedCharts';
import { SpaceMemberRole, type CreateSpace } from './types/space';
import type { PivotValuesColumn } from './visualizations/types';
export * from './authorization/buildAccountHelpers';
export { defineUserAbility, getUserAbilityBuilder, JWT_HEADER_NAME, } from './authorization/index';
export * from './authorization/jwtAbility';
export { projectMemberAbilities } from './authorization/projectMemberAbility';
export * from './authorization/parseAccount';
export * from './authorization/roleToScopeMapping';
export * from './authorization/scopeAbilityBuilder';
export * from './authorization/scopes';
export * from './authorization/serviceAccountAbility';
export * from './authorization/space/spaceAccessResolver';
export * from './authorization/types';
export * from './compiler/compilationReport';
export * from './compiler/exploreCompiler';
export * from './compiler/filtersCompiler';
export * from './compiler/lightdashModelConverter';
export * from './compiler/parameters';
export * from './compiler/translator';
export * from './constants/screenshot';
export * from './constants/sessionStorageKeys';
export * from './constants/spaces';
export * from './constants/sqlRunner';
export { default as DbtSchemaEditor } from './dbt/DbtSchemaEditor/DbtSchemaEditor';
export * from './dbt/validation';
export * from './ee';
export * from './preAggregates';
export * from './pivot/derivePivotConfigFromChart';
export * from './pivot/pivotConfig';
export * from './pivot/pivotQueryResults';
export * from './pivot/utils';
export { default as chartAsCodeSchema } from './schemas/json/chart-as-code-1.0.json';
export { default as dashboardAsCodeSchema } from './schemas/json/dashboard-as-code-1.0.json';
export { default as lightdashDbtYamlSchema } from './schemas/json/lightdash-dbt-2.0.json';
export { default as lightdashProjectContextSchema } from './schemas/json/lightdash-project-context-1.0.json';
export { default as lightdashProjectConfigSchema } from './schemas/json/lightdash-project-config-1.0.json';
export { default as modelAsCodeSchema } from './schemas/json/model-as-code-1.0.json';
export * from './templating/liquidSql';
export * from './templating/template';
export * from './types/account';
export * from './types/adminNotifications';
export * from './types/analytics';
export * from './types/any';
export * from './types/api';
export * from './types/api/comments';
export * from './types/api/errors';
export * from './types/api/notifications';
export * from './types/api/paginatedQuery';
export * from './types/api/parameters';
export * from './types/api/share';
export * from './types/api/sort';
export * from './types/api/spotlight';
export * from './types/api/success';
export * from './types/api/uuid';
export * from './types/auth';
export * from './types/bigQuerySSO';
export * from './types/catalog';
export * from './types/changeset';
export * from './types/coder';
export * from './types/comments';
export * from './types/conditionalFormatting';
export * from './types/content';
export * from './types/contentVerification';
export * from './types/dashboard';
export * from './types/dbt';
export * from './types/downloadFile';
export * from './types/email';
export * from './types/errors';
export * from './types/explore';
export * from './types/favorites';
export * from './types/featureFlags';
export * from './types/impersonationOrganizationSettings';
export * from './types/previewExpirationProjectSettings';
export * from './types/field';
export * from './types/fieldMatch';
export * from './types/filter';
export * from './types/funnel';
export * from './types/gdrive';
export * from './types/gitIntegration';
export * from './types/groups';
export * from './types/job';
export * from './types/knex-paginate';
export * from './types/lightdashModel';
export * from './types/lightdashProjectConfig';
export * from './types/metricQuery';
export * from './types/metricsExplorer';
export * from './types/notifications';
export * from './types/oauth';
export * from './types/openIdIdentity';
export * from './types/organization';
export * from './types/organizationAccess';
export * from './types/organizationDomainVerification';
export * from './types/organizationMemberProfile';
export * from './types/organizationSettings';
export * from './types/organizationSso';
export * from './types/organizationWarehouseCredentials';
export * from './types/paginateResults';
export * from './types/parameters';
export * from './types/periodOverPeriodComparison';
export * from './types/personalAccessToken';
export * from './types/pinning';
export * from './types/pivot';
export * from './types/preAggregate';
export * from './types/projectCiStatus';
export * from './types/projectCompileLogs';
export * from './types/projectGroupAccess';
export * from './types/projectMemberProfile';
export * from './types/projectMemberRole';
export * from './types/projects';
export * from './types/promotion';
export * from './types/queryHistory';
export * from './types/rename';
export * from './types/resourceViewItem';
export * from './types/results';
export * from './types/roles';
export * from './types/savedCharts';
export * from './types/scheduler';
export * from './types/schedulerLog';
export * from './types/schedulerTaskList';
export * from './types/scopes';
export * from './types/search';
export * from './types/share';
export * from './types/slack';
export * from './types/slackSettings';
export * from './types/softDelete';
export * from './types/space';
export * from './types/spotlightTableConfig';
export * from './types/sqlRunner';
export * from './types/SshKeyPair';
export * from './types/table';
export * from './types/tags';
export * from './types/timeFrames';
export * from './types/timezone';
export * from './types/user';
export * from './types/userAttributes';
export * from './types/userWarehouseCredentials';
export * from './types/validation';
export * from './types/warehouse';
export * from './types/yamlSchema';
export * from './utils/accessors';
export * from './utils/additionalMetrics';
export * from './utils/api';
export { default as assertUnreachable } from './utils/assertUnreachable';
export * from './utils/bigNumber';
export * from './utils/changeset';
export * from './utils/charts';
export * from './utils/chartValidation';
export * from './utils/colors';
export * from './utils/conditionalFormatExpressions';
export * from './utils/conditionalFormatting';
export * from './utils/connectionChanges';
export * from './utils/convertCustomDimensionsToYaml';
export * from './utils/convertCustomMetricsToYaml';
export * from './utils/customDimensions';
export * from './utils/dashboard';
export * from './utils/dbt';
export * from './utils/dependencyGraph';
export * from './utils/email';
export * from './utils/fields';
export * from './utils/filters';
export * from './utils/formatting';
export * from './utils/github';
export * from './utils/i18n/chartAsCode';
export * from './utils/i18n/dashboardAsCode';
export * from './utils/i18n/merge';
export * from './utils/i18n/types';
export * from './utils/item';
export * from './utils/loadLightdashProjectConfig';
export * from './utils/lightdashSqlVariables';
export * from './utils/metricsExplorer';
export * from './utils/normalizeCellRawForFilter';
export * from './utils/oauth';
export * from './utils/organization';
export * from './utils/previewDeployWorkflow';
export * from './utils/projectMemberRole';
export * from './utils/promises';
export * from './utils/sanitizeHtml';
export * from './utils/scheduler';
export * from './utils/searchParams';
export * from './utils/slack';
export * from './utils/sleep';
export * from './utils/slugs';
export * from './utils/sqlDialect';
export * from './utils/subtotals';
export * from './utils/dateZoom';
export * from './utils/tableCalculationFunctions';
export * from './utils/time';
export * from './utils/timeFrames';
export * from './utils/resolveQueryTimezone';
export * from './utils/virtualView';
export * from './utils/warehouse';
export * from './visualizations/CartesianChartDataModel';
export * from './visualizations/helpers/getCartesianAxisFormatterConfig';
export * from './visualizations/helpers/styles/axisStyles';
export * from './visualizations/helpers/styles/barChartStyles';
export * from './visualizations/helpers/styles/gridStyles';
export * from './visualizations/helpers/styles/legendStyles';
export * from './visualizations/helpers/styles/pieChartStyles';
export * from './visualizations/helpers/styles/referenceLineStyles';
export * as vizThemeColors from './visualizations/helpers/styles/themeColors';
export * from './visualizations/helpers/styles/tooltipStyles';
export * from './visualizations/helpers/styles/valueLabelStyles';
export * from './visualizations/helpers/tooltipFormatter';
export * from './visualizations/helpers/valueFormatter';
export * from './visualizations/PieChartDataModel';
export * from './visualizations/TableDataModel';
export * from './visualizations/types';
export * from './visualizations/types/IResultsRunner';
export declare const validateEmail: (email: string) => boolean;
export declare const getEmailSchema: () => z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
export declare const getPasswordSchema: () => z.ZodString;
export declare const validatePassword: (password: string) => boolean;
export declare const hasIntersection: (tags: string[], tags2: string[]) => boolean;
export declare const toggleArrayValue: <T = string>(initialArray: T[], value: T) => T[];
export declare const replaceStringInArray: (arrayToUpdate: string[], valueToReplace: string, newValue: string) => string[];
export type SqlResultsRow = {
    [columnName: string]: unknown;
};
export type SqlResultsField = {
    name: string;
    type: string;
};
export type SqlQueryResults = {
    fields: SqlResultsField[];
    rows: SqlResultsRow[];
};
export declare function hexToRGB(hex: string, alpha: number | undefined): string;
export declare const SEED_ORG_1: {
    organization_uuid: string;
    organization_name: string;
};
export declare const SEED_ORG_1_ADMIN: {
    user_uuid: string;
    first_name: string;
    last_name: string;
    is_marketing_opted_in: boolean;
    is_tracking_anonymized: boolean;
    is_setup_complete: boolean;
    is_active: boolean;
};
export declare const SEED_ORG_1_ADMIN_EMAIL: {
    email: string;
    is_primary: boolean;
};
export declare const SEED_ORG_1_ADMIN_PASSWORD: {
    password: string;
};
export declare const SEED_ORG_1_ADMIN_ROLE = OrganizationMemberRole.ADMIN;
export declare const SEED_ORG_1_EDITOR: {
    user_uuid: string;
    first_name: string;
    last_name: string;
    is_marketing_opted_in: boolean;
    is_tracking_anonymized: boolean;
    is_setup_complete: boolean;
    is_active: boolean;
};
export declare const SEED_ORG_1_EDITOR_EMAIL: {
    email: string;
    is_primary: boolean;
};
export declare const SEED_ORG_1_EDITOR_PASSWORD: {
    password: string;
};
export declare const SEED_ORG_1_EDITOR_ROLE = OrganizationMemberRole.EDITOR;
export declare const SEED_ORG_1_VIEWER: {
    user_uuid: string;
    first_name: string;
    last_name: string;
    is_marketing_opted_in: boolean;
    is_tracking_anonymized: boolean;
    is_setup_complete: boolean;
    is_active: boolean;
};
export declare const SEED_ORG_1_VIEWER_EMAIL: {
    email: string;
    is_primary: boolean;
};
export declare const SEED_ORG_1_VIEWER_PASSWORD: {
    password: string;
};
export declare const SEED_ORG_1_VIEWER_ROLE = OrganizationMemberRole.VIEWER;
export declare const SEED_ORG_2: {
    organization_uuid: string;
    organization_name: string;
};
export declare const SEED_ORG_2_ADMIN: {
    user_uuid: string;
    first_name: string;
    last_name: string;
    is_marketing_opted_in: boolean;
    is_tracking_anonymized: boolean;
    is_setup_complete: boolean;
    is_active: boolean;
};
export declare const SEED_ORG_2_ADMIN_EMAIL: {
    email: string;
    is_primary: boolean;
};
export declare const SEED_ORG_2_ADMIN_PASSWORD: {
    password: string;
};
export declare const SEED_ORG_2_ADMIN_ROLE = OrganizationMemberRole.ADMIN;
export declare const SEED_EMBED_SECRET = "zU3h50saDOO20czNFNRok";
export declare const SEED_PAT: {
    token: string;
    description: string;
};
export declare const SEED_PROJECT: {
    project_uuid: string;
    name: string;
    project_type: ProjectType;
    dbt_connection_type: DbtProjectType;
    dbt_connection: null;
    copied_from_project_uuid: null;
    organization_warehouse_credentials_uuid: null;
};
export declare const SEED_SPACE: {
    name: string;
};
export declare const SEED_GROUP: {
    groupUuid: string;
    name: string;
};
export declare const SEED_GROUP_2: {
    groupUuid: string;
    name: string;
};
export type ArgumentsOf<F extends Function> = F extends (...args: infer A) => AnyType ? A : never;
export declare const getVisibleFields: (explore: Explore) => CompiledField[];
export declare const findFieldByIdInExplore: (explore: Explore, id: FieldId) => Field | undefined;
export declare const snakeCaseName: (text: string) => string;
export declare const hasSpecialCharacters: (text: string) => boolean;
export declare const CompleteUserSchema: z.ZodObject<{
    organizationName: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
    jobTitle: z.ZodString;
    enableEmailDomainAccess: z.ZodDefault<z.ZodBoolean>;
    isMarketingOptedIn: z.ZodDefault<z.ZodBoolean>;
    isTrackingAnonymized: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    isTrackingAnonymized: boolean;
    isMarketingOptedIn: boolean;
    jobTitle: string;
    enableEmailDomainAccess: boolean;
    organizationName?: string | undefined;
}, {
    jobTitle: string;
    organizationName?: string | undefined;
    isTrackingAnonymized?: boolean | undefined;
    isMarketingOptedIn?: boolean | undefined;
    enableEmailDomainAccess?: boolean | undefined;
}>;
export type CompleteUserArgs = z.infer<typeof CompleteUserSchema>;
export declare const isLightdashMode: (x: string) => x is LightdashMode;
export declare enum LightdashInstallType {
    DOCKER_IMAGE = "docker_image",
    BASH_INSTALL = "bash_install",
    HEROKU = "heroku",
    UNKNOWN = "unknown"
}
export declare const getResultValueArray: (rows: ResultRow[], preferRaw?: boolean, calculateMinAndMax?: boolean, excludeNulls?: boolean) => {
    results: Record<string, unknown>[];
    minsAndMaxes?: Record<string, {
        min: number;
        max: number;
    }>;
};
export declare const getDateGroupLabel: (axisItem: ItemsMap[string]) => string | undefined;
export declare const getAxisName: ({ isAxisTheSameForAllSeries, selectedAxisIndex, axisReference, axisIndex, axisName, series, itemsMap, }: {
    isAxisTheSameForAllSeries: boolean;
    selectedAxisIndex: number;
    axisReference: "yRef" | "xRef";
    axisIndex: number;
    axisName?: string;
    series?: Series[];
    itemsMap: ItemsMap | undefined;
}) => string | undefined;
export declare function getFieldMap(explore: Explore, additionalMetrics?: AdditionalMetric[]): Record<string, CompiledField | AdditionalMetric>;
export declare function getItemMap(explore: Explore, additionalMetrics?: AdditionalMetric[], tableCalculations?: TableCalculation[], customDimensions?: CustomDimension[]): ItemsMap;
export declare const getFieldsFromMetricQuery: (metricQuery: MetricQuery, explore: Explore) => ItemsMap;
export declare const getDimensionsFromItemsMap: (itemsMap: ItemsMap) => Record<string, CustomDimension | Dimension>;
export declare const getFilterableDimensionsFromItemsMap: (itemsMap: ItemsMap) => Record<string, FilterableDimension>;
export declare const getMetricsFromItemsMap: (itemsMap: ItemsMap, filter?: (value: ItemsMap[string]) => boolean) => Record<string, Metric>;
export declare const getTableCalculationsFromItemsMap: (itemsMap?: ItemsMap) => Record<string, TableCalculation>;
export declare function itemsInMetricQuery(metricQuery: MetricQuery | undefined): string[];
export declare function formatRawValue(field: Field | Metric | TableCalculation | CustomDimension | undefined, value: AnyType): any;
export declare function formatRawRows(rows: {
    [col: string]: AnyType;
}[], itemsMap: ItemsMap): Record<string, unknown>[];
export declare function formatRow(row: {
    [col: string]: AnyType;
}, itemsMap: ItemsMap, pivotValuesColumns?: Record<string, PivotValuesColumn> | null, parameters?: Record<string, unknown>, timezone?: string): ResultRow;
export declare function formatRows(rows: {
    [col: string]: AnyType;
}[], itemsMap: ItemsMap, pivotValuesColumns?: Record<string, PivotValuesColumn> | null, parameters?: Record<string, unknown>, timezone?: string): ResultRow[];
export declare const removeEmptyProperties: (object: Record<string, AnyType>) => Record<string, any>;
export declare const deepEqual: (object1: Record<string, AnyType>, object2: Record<string, AnyType>) => boolean;
export declare const getProjectDirectory: (dbtConnection?: DbtProjectConfig) => string | undefined;
export declare function isNotNull<T>(arg: T): arg is Exclude<T, null>;
export type TreeCreateSpace = CreateSpace & {
    children?: TreeCreateSpace[];
    groupAccess?: {
        groupUuid: string;
        role: SpaceMemberRole;
    }[];
};
export declare const SPACE_TREE_1: TreeCreateSpace[];
export declare const SPACE_TREE_2: TreeCreateSpace[];
//# sourceMappingURL=index.d.ts.map