import * as Schema from "effect/Schema";
import { Forbidden, NotFound } from "../../errors.ts";
export declare const ChangeRequestsRetrieveInput: Schema.Struct<{
    readonly id: Schema.String;
    readonly project_id: Schema.String;
}>;
export type ChangeRequestsRetrieveInput = typeof ChangeRequestsRetrieveInput.Type;
export declare const ChangeRequestsRetrieveOutput: Schema.Struct<{
    readonly id: Schema.optional<Schema.String>;
    readonly action_key: Schema.optional<Schema.String>;
    readonly action_version: Schema.optional<Schema.Number>;
    readonly resource_type: Schema.optional<Schema.String>;
    readonly resource_id: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly intent: Schema.optional<Schema.Unknown>;
    readonly intent_display: Schema.optional<Schema.Unknown>;
    readonly policy_snapshot: Schema.optional<Schema.Unknown>;
    readonly validation_status: Schema.optional<Schema.Literals<readonly ["valid", "invalid", "expired", "stale"]>>;
    readonly validation_errors: Schema.optional<Schema.NullOr<Schema.Unknown>>;
    readonly validated_at: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly state: Schema.optional<Schema.Literals<readonly ["pending", "approved", "applied", "rejected", "expired", "failed"]>>;
    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 applied_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>>;
    readonly expires_at: Schema.optional<Schema.String>;
    readonly applied_at: Schema.optional<Schema.NullOr<Schema.String>>;
    readonly apply_error: Schema.optional<Schema.String>;
    readonly result_data: Schema.optional<Schema.NullOr<Schema.Unknown>>;
    readonly approvals: Schema.optional<Schema.$Array<Schema.$Record<Schema.String, Schema.Unknown>>>;
    readonly can_approve: Schema.optional<Schema.Boolean>;
    readonly can_cancel: Schema.optional<Schema.Boolean>;
    readonly is_requester: Schema.optional<Schema.Boolean>;
    readonly user_decision: Schema.optional<Schema.NullOr<Schema.String>>;
}>;
export type ChangeRequestsRetrieveOutput = typeof ChangeRequestsRetrieveOutput.Type;
/**
 *
 * @param id - A UUID string identifying this change request.
 * @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 changeRequestsRetrieve: import("@distilled.cloud/core/client").OperationMethod<{
    readonly id: string;
    readonly project_id: string;
}, {
    readonly action_key?: string | undefined;
    readonly action_version?: number | undefined;
    readonly applied_at?: string | null | undefined;
    readonly applied_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 apply_error?: string | undefined;
    readonly approvals?: readonly {
        readonly [x: string]: unknown;
    }[] | undefined;
    readonly can_approve?: boolean | undefined;
    readonly can_cancel?: boolean | undefined;
    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 expires_at?: string | undefined;
    readonly id?: string | undefined;
    readonly intent?: unknown;
    readonly intent_display?: unknown;
    readonly is_requester?: boolean | undefined;
    readonly policy_snapshot?: unknown;
    readonly resource_id?: string | null | undefined;
    readonly resource_type?: string | undefined;
    readonly result_data?: unknown;
    readonly state?: "applied" | "approved" | "expired" | "failed" | "pending" | "rejected" | undefined;
    readonly updated_at?: string | null | undefined;
    readonly user_decision?: string | null | undefined;
    readonly validated_at?: string | null | undefined;
    readonly validation_errors?: unknown;
    readonly validation_status?: "expired" | "invalid" | "stale" | "valid" | undefined;
}, Forbidden | NotFound, import("~/credentials.ts").Credentials>;
//# sourceMappingURL=changeRequestsRetrieve.d.ts.map