import * as Schema from "effect/Schema";
import { BadRequest, Forbidden, NotFound } from "../../errors.ts";
export declare const ApprovalPoliciesUpdateInput: Schema.Struct<{
    readonly id: Schema.String;
    readonly project_id: Schema.String;
    readonly action_key: Schema.optional<Schema.String>;
    readonly conditions: Schema.optional<Schema.Unknown>;
    readonly approver_config: Schema.optional<Schema.Unknown>;
    readonly allow_self_approve: Schema.optional<Schema.Boolean>;
    readonly bypass_org_membership_levels: Schema.optional<Schema.Unknown>;
    readonly bypass_roles: Schema.optional<Schema.$Array<Schema.String>>;
    readonly expires_after: Schema.optional<Schema.String>;
    readonly enabled: Schema.optional<Schema.Boolean>;
    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 created_at: Schema.optional<Schema.String>;
    readonly updated_at: Schema.optional<Schema.NullOr<Schema.String>>;
}>;
export type ApprovalPoliciesUpdateInput = typeof ApprovalPoliciesUpdateInput.Type;
export declare const ApprovalPoliciesUpdateOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly action_key: Schema.optional<Schema.String>;
    readonly conditions: Schema.optional<Schema.Unknown>;
    readonly approver_config: Schema.optional<Schema.Unknown>;
    readonly allow_self_approve: Schema.optional<Schema.Boolean>;
    readonly bypass_org_membership_levels: Schema.optional<Schema.Unknown>;
    readonly bypass_roles: Schema.optional<Schema.$Array<Schema.String>>;
    readonly expires_after: Schema.optional<Schema.String>;
    readonly enabled: Schema.optional<Schema.Boolean>;
    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 created_at: Schema.optional<Schema.String>;
    readonly updated_at: Schema.optional<Schema.NullOr<Schema.String>>;
}>;
export type ApprovalPoliciesUpdateOutput = typeof ApprovalPoliciesUpdateOutput.Type;
/**
 *
 * @param id - A UUID string identifying this approval policy.
 * @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 approvalPoliciesUpdate: import("@distilled.cloud/core/client").OperationMethod<{
    readonly action_key?: string | undefined;
    readonly allow_self_approve?: boolean | undefined;
    readonly approver_config?: unknown;
    readonly bypass_org_membership_levels?: unknown;
    readonly bypass_roles?: readonly string[] | undefined;
    readonly conditions?: unknown;
    readonly created_at?: string | 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 enabled?: boolean | undefined;
    readonly expires_after?: string | undefined;
    readonly id: string;
    readonly project_id: string;
    readonly updated_at?: string | null | undefined;
}, {
    readonly action_key?: string | undefined;
    readonly allow_self_approve?: boolean | undefined;
    readonly approver_config?: unknown;
    readonly bypass_org_membership_levels?: unknown;
    readonly bypass_roles?: readonly string[] | undefined;
    readonly conditions?: unknown;
    readonly created_at?: string | 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 enabled?: boolean | undefined;
    readonly expires_after?: string | undefined;
    readonly id?: string | undefined;
    readonly updated_at?: string | null | undefined;
}, BadRequest | Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=approvalPoliciesUpdate.d.ts.map