import * as Schema from "effect/Schema";
import { BadRequest, Forbidden, NotFound } from "../../errors.ts";
export declare const DashboardTemplatesListInput: Schema.Struct<{
    readonly project_id: Schema.String;
    readonly is_featured: Schema.optional<Schema.Boolean>;
    readonly limit: Schema.optional<Schema.Number>;
    readonly offset: Schema.optional<Schema.Number>;
    readonly ordering: Schema.optional<Schema.Literals<readonly ["-created_at", "-template_name", "created_at", "template_name"]>>;
    readonly scope: Schema.optional<Schema.Literals<readonly ["feature_flag", "global", "team"]>>;
}>;
export type DashboardTemplatesListInput = typeof DashboardTemplatesListInput.Type;
export declare const DashboardTemplatesListOutput: 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.String>;
        readonly template_name: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly dashboard_description: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly dashboard_filters: Schema.optional<Schema.NullOr<Schema.Unknown>>;
        readonly tags: Schema.optional<Schema.NullOr<Schema.$Array<Schema.String>>>;
        readonly tiles: Schema.optional<Schema.NullOr<Schema.Unknown>>;
        readonly variables: Schema.optional<Schema.NullOr<Schema.Unknown>>;
        readonly deleted: Schema.optional<Schema.NullOr<Schema.Boolean>>;
        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 image_url: Schema.optional<Schema.NullOr<Schema.String>>;
        readonly team_id: Schema.optional<Schema.NullOr<Schema.Number>>;
        readonly scope: Schema.optional<Schema.Unknown>;
        readonly availability_contexts: Schema.optional<Schema.NullOr<Schema.$Array<Schema.String>>>;
        readonly is_featured: Schema.optional<Schema.Boolean>;
    }>>>;
}>;
export type DashboardTemplatesListOutput = typeof DashboardTemplatesListOutput.Type;
/**
 *
 * @param is_featured - Omit for all templates. When set, filter by featured flag; parsed with str_to_bool (same as other API query booleans).
 * @param limit - Number of results to return per page.
 * @param offset - The initial index from which to return the results.
 * @param ordering - Optional. When not using `search`, results are sorted with featured templates first (`is_featured=true`), then by `template_name` (case-insensitive A–Z; `-template_name` for Z–A) or by `created_at` (`-created_at` for newest first). When `search` is set, order is featured first, then relevance rank, then case-insensitive name for ties.
 * @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 scope - Optional. `global`: official templates only. `team`: this project's saved templates only (`scope=team` rows for the current project). `feature_flag`: feature-flag dashboard templates only. Omit for both official and this project's templates (default dashboard template picker behavior).
 */
export declare const dashboardTemplatesList: import("@distilled.cloud/core/client").OperationMethod<{
    readonly project_id: string;
    readonly is_featured?: boolean | undefined;
    readonly limit?: number | undefined;
    readonly offset?: number | undefined;
    readonly ordering?: "-created_at" | "-template_name" | "created_at" | "template_name" | undefined;
    readonly scope?: "feature_flag" | "global" | "team" | undefined;
}, {
    readonly count?: number | undefined;
    readonly next?: string | null | undefined;
    readonly previous?: string | null | undefined;
    readonly results?: readonly {
        readonly id?: string | undefined;
        readonly template_name?: string | null | undefined;
        readonly dashboard_description?: string | null | undefined;
        readonly dashboard_filters?: unknown;
        readonly tags?: readonly string[] | null | undefined;
        readonly tiles?: unknown;
        readonly variables?: unknown;
        readonly deleted?: boolean | null | undefined;
        readonly created_at?: string | null | undefined;
        readonly created_by?: {
            readonly id?: number | undefined;
            readonly uuid?: string | undefined;
            readonly distinct_id?: string | null | undefined;
            readonly first_name?: string | undefined;
            readonly last_name?: string | undefined;
            readonly email?: string | undefined;
            readonly is_email_verified?: boolean | null | undefined;
            readonly hedgehog_config?: {
                readonly [x: string]: unknown;
            } | null | undefined;
            readonly role_at_organization?: unknown;
        } | null | undefined;
        readonly image_url?: string | null | undefined;
        readonly team_id?: number | null | undefined;
        readonly scope?: unknown;
        readonly availability_contexts?: readonly string[] | null | undefined;
        readonly is_featured?: boolean | undefined;
    }[] | undefined;
}, BadRequest | Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=dashboardTemplatesList.d.ts.map