import * as Schema from "effect/Schema";
import { BadRequest, Forbidden, NotFound } from "../../errors.ts";
export declare const InsightsListInput: Schema.Struct<{
    readonly project_id: Schema.String;
    readonly basic: Schema.optional<Schema.Boolean>;
    readonly created_by: Schema.optional<Schema.String>;
    readonly created_date_from: Schema.optional<Schema.String>;
    readonly created_date_to: Schema.optional<Schema.String>;
    readonly dashboards: Schema.optional<Schema.String>;
    readonly date_from: Schema.optional<Schema.String>;
    readonly date_to: Schema.optional<Schema.String>;
    readonly favorited: Schema.optional<Schema.Boolean>;
    readonly format: Schema.optional<Schema.Literals<readonly ["csv", "json"]>>;
    readonly insight: Schema.optional<Schema.Literals<readonly ["FUNNELS", "JSON", "LIFECYCLE", "PATHS", "RETENTION", "SQL", "STICKINESS", "TRENDS"]>>;
    readonly last_viewed_date_from: Schema.optional<Schema.String>;
    readonly last_viewed_date_to: Schema.optional<Schema.String>;
    readonly limit: Schema.optional<Schema.Number>;
    readonly offset: Schema.optional<Schema.Number>;
    readonly refresh: Schema.optional<Schema.Literals<readonly ["async", "async_except_on_cache_miss", "blocking", "force_async", "force_blocking", "force_cache", "lazy_async"]>>;
    readonly saved: Schema.optional<Schema.Boolean>;
    readonly search: Schema.optional<Schema.String>;
    readonly short_id: Schema.optional<Schema.String>;
    readonly tags: Schema.optional<Schema.String>;
    readonly user: Schema.optional<Schema.Boolean>;
}>;
export type InsightsListInput = typeof InsightsListInput.Type;
export declare const InsightsListOutput: Schema.Struct<{
    readonly count: Schema.optional<Schema.Number>;
    readonly next: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly previous: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly results: Schema.optional<Schema.$Array<Schema.Struct<{
        readonly id: Schema.optional<Schema.Number>;
        readonly short_id: Schema.optional<Schema.String>;
        readonly name: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly derived_name: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly query: Schema.optional<Schema.Unknown>;
        readonly order: Schema.optional<Schema.NullOr<Schema.Number>>;
        readonly deleted: Schema.optional<Schema.Boolean>;
        readonly dashboards: Schema.optional<Schema.$Array<Schema.Number>>;
        readonly dashboard_tiles: Schema.optional<Schema.$Array<Schema.Struct<{
            readonly id: Schema.optional<Schema.Number>;
            readonly dashboard_id: Schema.optional<Schema.Number>;
            readonly deleted: Schema.optional<Schema.NullOr<Schema.Boolean>>;
        }>>>;
        readonly last_refresh: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly cache_target_age: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly next_allowed_client_refresh: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly result: Schema.optional<Schema.Unknown>;
        readonly hasMore: Schema.optional<Schema.NullOr<Schema.Boolean>>;
        readonly columns: Schema.optional<Schema.NullOr<Schema.$Array<Schema.String>>>;
        readonly created_at: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly created_by: Schema.optional<Schema.NullOr<Schema.Struct<{
            readonly id: Schema.optional<Schema.Number>;
            readonly uuid: Schema.optional<Schema.String>;
            readonly distinct_id: Schema.optional<Schema.NullOr<Schema.String>>;
            readonly first_name: Schema.optional<Schema.String>;
            readonly last_name: Schema.optional<Schema.String>;
            readonly email: Schema.optional<Schema.String>;
            readonly is_email_verified: Schema.optional<Schema.NullOr<Schema.Boolean>>;
            readonly hedgehog_config: Schema.optional<Schema.NullOr<Schema.$Record<Schema.String, Schema.Unknown>>>;
            readonly role_at_organization: Schema.optional<Schema.Unknown>;
        }>>>;
        readonly description: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly updated_at: Schema.optional<Schema.String>;
        readonly tags: Schema.optional<Schema.$Array<Schema.Unknown>>;
        readonly favorited: Schema.optional<Schema.Boolean>;
        readonly last_modified_at: Schema.optional<Schema.String>;
        readonly last_modified_by: Schema.optional<Schema.NullOr<Schema.Struct<{
            readonly id: Schema.optional<Schema.Number>;
            readonly uuid: Schema.optional<Schema.String>;
            readonly distinct_id: Schema.optional<Schema.NullOr<Schema.String>>;
            readonly first_name: Schema.optional<Schema.String>;
            readonly last_name: Schema.optional<Schema.String>;
            readonly email: Schema.optional<Schema.String>;
            readonly is_email_verified: Schema.optional<Schema.NullOr<Schema.Boolean>>;
            readonly hedgehog_config: Schema.optional<Schema.NullOr<Schema.$Record<Schema.String, Schema.Unknown>>>;
            readonly role_at_organization: Schema.optional<Schema.Unknown>;
        }>>>;
        readonly is_sample: Schema.optional<Schema.Boolean>;
        readonly effective_restriction_level: Schema.optional<Schema.Literals<readonly [21, 37]>>;
        readonly effective_privilege_level: Schema.optional<Schema.Literals<readonly [21, 37]>>;
        readonly user_access_level: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly timezone: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly is_cached: Schema.optional<Schema.Boolean>;
        readonly query_status: Schema.optional<Schema.Unknown>;
        readonly hogql: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly types: Schema.optional<Schema.NullOr<Schema.$Array<Schema.Unknown>>>;
        readonly resolved_date_range: Schema.optional<Schema.NullOr<Schema.Struct<{
            readonly date_from: Schema.optional<Schema.String>;
            readonly date_to: Schema.optional<Schema.String>;
        }>>>;
        readonly _create_in_folder: Schema.optional<Schema.String>;
        readonly alerts: Schema.optional<Schema.$Array<Schema.Unknown>>;
        readonly last_viewed_at: Schema.optional<Schema.NullOr<Schema.String>>;
    }>>>;
}>;
export type InsightsListOutput = typeof InsightsListOutput.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 basic - Return basic insight metadata only (no results, faster).
 * @param created_by - JSON-encoded array of user IDs. Only returns insights whose `created_by` is in the list, e.g. `[1,42]`.
 * @param created_date_from - Filter by `created_at > created_date_from`. Accepts absolute or relative dates.
 * @param created_date_to - Filter by `created_at < created_date_to`. Accepts absolute or relative dates.
 * @param dashboards - JSON-encoded array of dashboard IDs. Returns insights attached to every listed dashboard (AND).
 * @param date_from - Filter by `last_modified_at > date_from`. Accepts absolute dates (`2025-04-23`) or relative strings (`-7d`, `-1m`).
 * @param date_to - Filter by `last_modified_at < date_to`. Accepts absolute dates or relative strings.
 * @param favorited - Include this parameter (any value) to restrict results to insights marked as favorited.
 * @param insight - Restrict to a single insight type. `JSON` matches non-wrapper query insights; `SQL` matches HogQL queries.
 * @param last_viewed_date_from - Filter by `last_viewed_at > last_viewed_date_from`. Accepts absolute or relative dates.
 * @param last_viewed_date_to - Filter by `last_viewed_at < last_viewed_date_to`. Accepts absolute or relative dates.
 * @param limit - Number of results to return per page.
 * @param offset - The initial index from which to return the results.
 * @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/.
 * @param refresh -
Whether to refresh the retrieved insights, how aggressively, and if sync or async:
- `'force_cache'` - return cached data or a cache miss; always completes immediately as it never calculates
- `'blocking'` - calculate synchronously (returning only when the query is done), UNLESS there are very fresh results in the cache
- `'async'` - kick off background calculation (returning immediately with a query status), UNLESS there are very fresh results in the cache
- `'lazy_async'` - kick off background calculation, UNLESS there are somewhat fresh results in the cache
- `'force_blocking'` - calculate synchronously, even if fresh results are already cached
- `'force_async'` - kick off background calculation, even if fresh results are already cached
Background calculation can be tracked using the `query_status` response field.
 * @param saved - When truthy, restricts results to insights that are saved (or attached to a visible dashboard). When falsy, only unsaved insights.
 * @param search - Case-insensitive substring match across name, derived_name, description, and tag names.
 * @param tags - JSON-encoded array of tag names. Returns insights with any of the listed tags.
 * @param user - Include this parameter (any value) to restrict results to insights created by the authenticated user.
 */
export declare const insightsList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly basic?: boolean | undefined;
    readonly created_by?: string | undefined;
    readonly created_date_from?: string | undefined;
    readonly created_date_to?: string | undefined;
    readonly dashboards?: string | undefined;
    readonly date_from?: string | undefined;
    readonly date_to?: string | undefined;
    readonly favorited?: boolean | undefined;
    readonly format?: "csv" | "json" | undefined;
    readonly insight?: "FUNNELS" | "JSON" | "LIFECYCLE" | "PATHS" | "RETENTION" | "SQL" | "STICKINESS" | "TRENDS" | undefined;
    readonly last_viewed_date_from?: string | undefined;
    readonly last_viewed_date_to?: string | undefined;
    readonly limit?: number | undefined;
    readonly offset?: number | undefined;
    readonly project_id: string;
    readonly refresh?: "async" | "async_except_on_cache_miss" | "blocking" | "force_async" | "force_blocking" | "force_cache" | "lazy_async" | undefined;
    readonly saved?: boolean | undefined;
    readonly search?: string | undefined;
    readonly short_id?: string | undefined;
    readonly tags?: string | undefined;
    readonly user?: boolean | undefined;
}, {
    readonly count?: number | undefined;
    readonly next?: string | null | undefined;
    readonly previous?: string | null | undefined;
    readonly results?: readonly {
        readonly _create_in_folder?: string | undefined;
        readonly alerts?: readonly unknown[] | undefined;
        readonly cache_target_age?: string | null | undefined;
        readonly columns?: readonly string[] | null | undefined;
        readonly created_at?: string | null | undefined;
        readonly created_by?: {
            readonly distinct_id?: string | null | undefined;
            readonly email?: string | undefined;
            readonly first_name?: string | undefined;
            readonly hedgehog_config?: {
                readonly [x: string]: unknown;
            } | null | undefined;
            readonly id?: number | undefined;
            readonly is_email_verified?: boolean | null | undefined;
            readonly last_name?: string | undefined;
            readonly role_at_organization?: unknown;
            readonly uuid?: string | undefined;
        } | null | undefined;
        readonly dashboard_tiles?: readonly {
            readonly dashboard_id?: number | undefined;
            readonly deleted?: boolean | null | undefined;
            readonly id?: number | undefined;
        }[] | undefined;
        readonly dashboards?: readonly number[] | undefined;
        readonly deleted?: boolean | undefined;
        readonly derived_name?: string | null | undefined;
        readonly description?: string | null | undefined;
        readonly effective_privilege_level?: 21 | 37 | undefined;
        readonly effective_restriction_level?: 21 | 37 | undefined;
        readonly favorited?: boolean | undefined;
        readonly hasMore?: boolean | null | undefined;
        readonly hogql?: string | null | undefined;
        readonly id?: number | undefined;
        readonly is_cached?: boolean | undefined;
        readonly is_sample?: boolean | undefined;
        readonly last_modified_at?: string | undefined;
        readonly last_modified_by?: {
            readonly distinct_id?: string | null | undefined;
            readonly email?: string | undefined;
            readonly first_name?: string | undefined;
            readonly hedgehog_config?: {
                readonly [x: string]: unknown;
            } | null | undefined;
            readonly id?: number | undefined;
            readonly is_email_verified?: boolean | null | undefined;
            readonly last_name?: string | undefined;
            readonly role_at_organization?: unknown;
            readonly uuid?: string | undefined;
        } | null | undefined;
        readonly last_refresh?: string | null | undefined;
        readonly last_viewed_at?: string | null | undefined;
        readonly name?: string | null | undefined;
        readonly next_allowed_client_refresh?: string | null | undefined;
        readonly order?: number | null | undefined;
        readonly query?: unknown;
        readonly query_status?: unknown;
        readonly resolved_date_range?: {
            readonly date_from?: string | undefined;
            readonly date_to?: string | undefined;
        } | null | undefined;
        readonly result?: unknown;
        readonly short_id?: string | undefined;
        readonly tags?: readonly unknown[] | undefined;
        readonly timezone?: string | null | undefined;
        readonly types?: readonly unknown[] | null | undefined;
        readonly updated_at?: string | undefined;
        readonly user_access_level?: string | null | undefined;
    }[] | undefined;
}, BadRequest | Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=insightsList.d.ts.map