import * as Schema from "effect/Schema";
import { BadRequest, Forbidden, NotFound } from "../../errors.ts";
export declare const QueryCreateInput: Schema.Struct<{
    readonly project_id: Schema.String;
    readonly async: Schema.optional<Schema.NullOr<Schema.Boolean>>;
    readonly client_query_id: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly filters_override: Schema.optional<Schema.Struct<{
        readonly breakdown_filter: Schema.optional<Schema.Struct<{
            readonly breakdown: Schema.optional<Schema.Unknown>;
            readonly breakdown_group_type_index: Schema.optional<Schema.NullOr<Schema.Number>>;
            readonly breakdown_hide_other_aggregation: Schema.optional<Schema.NullOr<Schema.Boolean>>;
            readonly breakdown_histogram_bin_count: Schema.optional<Schema.NullOr<Schema.Number>>;
            readonly breakdown_limit: Schema.optional<Schema.NullOr<Schema.Number>>;
            readonly breakdown_normalize_url: Schema.optional<Schema.NullOr<Schema.Boolean>>;
            readonly breakdown_path_cleaning: Schema.optional<Schema.NullOr<Schema.Boolean>>;
            readonly breakdown_type: Schema.optional<Schema.Literals<readonly ["cohort", "person", "event", "event_metadata", "group", "session", "hogql", "data_warehouse", "data_warehouse_person_property", "revenue_analytics"]>>;
            readonly breakdowns: Schema.optional<Schema.NullOr<Schema.$Array<Schema.Struct<{
                readonly group_type_index: Schema.optional<Schema.NullOr<Schema.Number>>;
                readonly histogram_bin_count: Schema.optional<Schema.NullOr<Schema.Number>>;
                readonly normalize_url: Schema.optional<Schema.NullOr<Schema.Boolean>>;
                readonly property: Schema.optional<Schema.Unknown>;
                readonly type: Schema.optional<Schema.Literals<readonly ["cohort", "person", "event", "event_metadata", "group", "session", "hogql", "data_warehouse_person_property", "revenue_analytics"]>>;
            }>>>>;
        }>>;
        readonly date_from: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly date_to: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly explicitDate: Schema.optional<Schema.NullOr<Schema.Boolean>>;
        readonly properties: Schema.optional<Schema.NullOr<Schema.$Array<Schema.Unknown>>>;
    }>>;
    readonly limit_context: Schema.optional<Schema.Literals<readonly ["posthog_ai", "null"]>>;
    readonly name: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly query: Schema.optional<Schema.Unknown>;
    readonly refresh: Schema.optional<Schema.Literals<readonly ["async", "async_except_on_cache_miss", "blocking", "force_async", "force_blocking", "force_cache", "lazy_async"]>>;
    readonly variables_override: Schema.optional<Schema.NullOr<Schema.$Record<Schema.String, Schema.$Record<Schema.String, Schema.Unknown>>>>;
}>;
export type QueryCreateInput = typeof QueryCreateInput.Type;
export declare const QueryCreateOutput: Schema.Unknown;
export type QueryCreateOutput = typeof QueryCreateOutput.Type;
/**
 * DRF ViewSet mixin that gates coalesced responses behind permission checks.
 * The QueryCoalescingMiddleware attaches cached response data to
 * request.META["_coalesced_response"] for followers. This mixin runs DRF's
 * initial() (auth + permissions + throttling) before returning the
 * cached response, ensuring the request is authorized.
 *
 * @param project_id - Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
 */
export declare const queryCreate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly async?: boolean | null | undefined;
    readonly client_query_id?: string | null | undefined;
    readonly filters_override?: {
        readonly breakdown_filter?: {
            readonly breakdown?: unknown;
            readonly breakdown_group_type_index?: number | null | undefined;
            readonly breakdown_hide_other_aggregation?: boolean | null | undefined;
            readonly breakdown_histogram_bin_count?: number | null | undefined;
            readonly breakdown_limit?: number | null | undefined;
            readonly breakdown_normalize_url?: boolean | null | undefined;
            readonly breakdown_path_cleaning?: boolean | null | undefined;
            readonly breakdown_type?: "cohort" | "data_warehouse" | "data_warehouse_person_property" | "event" | "event_metadata" | "group" | "hogql" | "person" | "revenue_analytics" | "session" | undefined;
            readonly breakdowns?: readonly {
                readonly group_type_index?: number | null | undefined;
                readonly histogram_bin_count?: number | null | undefined;
                readonly normalize_url?: boolean | null | undefined;
                readonly property?: unknown;
                readonly type?: "cohort" | "data_warehouse_person_property" | "event" | "event_metadata" | "group" | "hogql" | "person" | "revenue_analytics" | "session" | undefined;
            }[] | null | undefined;
        } | undefined;
        readonly date_from?: string | null | undefined;
        readonly date_to?: string | null | undefined;
        readonly explicitDate?: boolean | null | undefined;
        readonly properties?: readonly unknown[] | null | undefined;
    } | undefined;
    readonly limit_context?: "null" | "posthog_ai" | undefined;
    readonly name?: string | null | undefined;
    readonly project_id: string;
    readonly query?: unknown;
    readonly refresh?: "async" | "async_except_on_cache_miss" | "blocking" | "force_async" | "force_blocking" | "force_cache" | "lazy_async" | undefined;
    readonly variables_override?: {
        readonly [x: string]: {
            readonly [x: string]: unknown;
        };
    } | null | undefined;
}, unknown, BadRequest | Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=queryCreate.d.ts.map