import { z } from 'zod';
import { SemanticTriggerFiltersInterface } from './semantic-trigger-filters.interface';
export declare const SemanticTriggerSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    eventType: z.ZodOptional<z.ZodString>;
    dataset: z.ZodString;
    dimensions: z.ZodArray<z.ZodString>;
    limit: z.ZodOptional<z.ZodNumber>;
    filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
        dimension: z.ZodString;
        operator: z.ZodEnum<typeof import("..").SemanticTriggerFilterOperatorsEnum>;
        values: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>;
    }, z.core.$strip>, z.ZodLiteral<false>]>>>;
    cron: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    tz: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    incrementalField: z.ZodOptional<z.ZodString>;
    ungrouped: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
export declare const StoredSemanticTriggerSchema: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    description: z.ZodOptional<z.ZodString>;
    eventType: z.ZodOptional<z.ZodString>;
    dataset: z.ZodString;
    dimensions: z.ZodArray<z.ZodString>;
    limit: z.ZodOptional<z.ZodNumber>;
    filters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodObject<{
        dimension: z.ZodString;
        operator: z.ZodEnum<typeof import("..").SemanticTriggerFilterOperatorsEnum>;
        values: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>]>;
    }, z.core.$strip>, z.ZodLiteral<false>]>>>;
    cron: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    tz: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    incrementalField: z.ZodOptional<z.ZodString>;
    ungrouped: z.ZodOptional<z.ZodBoolean>;
    identifier: z.ZodString;
    key: z.ZodString;
}, z.core.$strip>;
export interface SemanticTriggerInterface {
    name?: string;
    description?: string;
    eventType?: string;
    dataset: string;
    dimensions: Array<string>;
    measures?: Array<string>;
    segments?: Array<string>;
    limit?: number;
    filters?: SemanticTriggerFiltersInterface | false;
    cron?: string;
    tz?: string;
    incrementalField?: string;
    keyField?: string;
    ungrouped?: boolean;
}
export interface StoredSemanticTriggerInterface extends SemanticTriggerInterface {
    identifier: string;
    key: string;
}
