/**
 * Stripe-specific error types.
 *
 * Re-exports common HTTP errors from sdk-core and adds Stripe-specific
 * error matching and API error types.
 */
export { BadGateway, BadRequest, Conflict, ConfigError, Forbidden, GatewayTimeout, InternalServerError, Locked, NotFound, ServiceUnavailable, TooManyRequests, Unauthorized, UnprocessableEntity, HTTP_STATUS_MAP, DEFAULT_ERRORS, API_ERRORS, } from "@distilled.cloud/core/errors";
export type { DefaultErrors } from "@distilled.cloud/core/errors";
import * as Schema from "effect/Schema";
import * as Category from "@distilled.cloud/core/category";
declare const PaymentError_base: Schema.Class<PaymentError, Schema.TaggedStruct<"PaymentError", {
    readonly message: Schema.optional<Schema.String>;
    readonly code: Schema.optional<Schema.String>;
    readonly decline_code: Schema.optional<Schema.String>;
    readonly charge: Schema.optional<Schema.String>;
    readonly param: Schema.optional<Schema.String>;
    readonly doc_url: Schema.optional<Schema.String>;
    readonly request_log_url: Schema.optional<Schema.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
/**
 * Payment error — returned when a payment request fails (HTTP 402).
 * The parameters were valid but the request failed (e.g., card declined).
 */
export declare class PaymentError extends PaymentError_base {
}
declare const CardError_base: Schema.Class<CardError, Schema.TaggedStruct<"CardError", {
    readonly message: Schema.optional<Schema.String>;
    readonly code: Schema.optional<Schema.String>;
    readonly decline_code: Schema.optional<Schema.String>;
    readonly charge: Schema.optional<Schema.String>;
    readonly param: Schema.optional<Schema.String>;
    readonly doc_url: Schema.optional<Schema.String>;
    readonly advice_code: Schema.optional<Schema.String>;
    readonly network_advice_code: Schema.optional<Schema.String>;
    readonly network_decline_code: Schema.optional<Schema.String>;
    readonly payment_method_type: Schema.optional<Schema.String>;
    readonly request_log_url: Schema.optional<Schema.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
/**
 * Card error — returned when a card cannot be charged.
 * Stripe error type: "card_error"
 */
export declare class CardError extends CardError_base {
}
declare const IdempotencyError_base: Schema.Class<IdempotencyError, Schema.TaggedStruct<"IdempotencyError", {
    readonly message: Schema.optional<Schema.String>;
    readonly code: Schema.optional<Schema.String>;
    readonly doc_url: Schema.optional<Schema.String>;
    readonly request_log_url: Schema.optional<Schema.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ConflictError: true;
    };
});
/**
 * Idempotency error — returned when an Idempotency-Key is re-used
 * on a request that does not match the first request's API endpoint and parameters.
 * Stripe error type: "idempotency_error"
 */
export declare class IdempotencyError extends IdempotencyError_base {
}
declare const InvalidRequestError_base: Schema.Class<InvalidRequestError, Schema.TaggedStruct<"InvalidRequestError", {
    readonly message: Schema.optional<Schema.String>;
    readonly code: Schema.optional<Schema.String>;
    readonly param: Schema.optional<Schema.String>;
    readonly doc_url: Schema.optional<Schema.String>;
    readonly request_log_url: Schema.optional<Schema.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        BadRequestError: true;
    };
});
/**
 * Invalid request error — returned when the request has invalid parameters.
 * Stripe error type: "invalid_request_error"
 */
export declare class InvalidRequestError extends InvalidRequestError_base {
}
declare const ApiError_base: Schema.Class<ApiError, Schema.TaggedStruct<"ApiError", {
    readonly message: Schema.optional<Schema.String>;
    readonly code: Schema.optional<Schema.String>;
    readonly param: Schema.optional<Schema.String>;
    readonly doc_url: Schema.optional<Schema.String>;
    readonly request_log_url: Schema.optional<Schema.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
}) & (new (...args: any[]) => {
    "@distilled.cloud/error/retryable": Category.RetryableInfo;
});
/**
 * API error — returned when something goes wrong on Stripe's end (HTTP 500+).
 * Stripe error type: "api_error"
 */
export declare class ApiError extends ApiError_base {
}
declare const ExternalDependencyFailed_base: Schema.Class<ExternalDependencyFailed, Schema.TaggedStruct<"ExternalDependencyFailed", {
    readonly message: Schema.optional<Schema.String>;
    readonly code: Schema.optional<Schema.String>;
    readonly doc_url: Schema.optional<Schema.String>;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
}) & (new (...args: any[]) => {
    "@distilled.cloud/error/retryable": Category.RetryableInfo;
});
/**
 * External dependency failed — returned when an external dependency fails (HTTP 424).
 */
export declare class ExternalDependencyFailed extends ExternalDependencyFailed_base {
}
/**
 * Stripe HTTP status code to error class mapping.
 * Extends core HTTP_STATUS_MAP with Stripe-specific statuses.
 */
export declare const STRIPE_HTTP_STATUS_MAP: {
    readonly 402: typeof PaymentError;
    readonly 424: typeof ExternalDependencyFailed;
};
declare const UnknownStripeError_base: Schema.Class<UnknownStripeError, Schema.TaggedStruct<"UnknownStripeError", {
    readonly type: Schema.optional<Schema.String>;
    readonly code: Schema.optional<Schema.String>;
    readonly message: Schema.optional<Schema.String>;
    readonly param: Schema.optional<Schema.String>;
    readonly body: Schema.Unknown;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ServerError: true;
    };
});
export declare class UnknownStripeError extends UnknownStripeError_base {
}
declare const StripeParseError_base: Schema.Class<StripeParseError, Schema.TaggedStruct<"StripeParseError", {
    readonly body: Schema.Unknown;
    readonly cause: Schema.Unknown;
}>, import("effect/Cause").YieldableError> & (new (...args: any[]) => {
    "@distilled.cloud/error/categories": {
        ParseError: true;
    };
});
export declare class StripeParseError extends StripeParseError_base {
}
//# sourceMappingURL=errors.d.ts.map