import { Venue } from "@agg-build/sdk";
export type TradingVenue = Venue;
/** safeParse-compatible venue check. */
export declare const parseVenue: (v: unknown) => import("@agg-build/sdk").SafeParseResult<Venue>;
/** safeParse-compatible finite non-negative number check. */
export declare const parseAmount: (v: unknown) => import("@agg-build/sdk").SafeParseResult<number>;
export interface SettlementVenueItem {
    marketId: string;
    venue: TradingVenue;
    label?: string;
    description: string;
    showMoreLabel?: string;
}
export interface SettlementViewModel {
    sectionLabel?: string;
    question?: string;
    differencesTitle?: string;
    differences?: string[];
    venues: SettlementVenueItem[];
}
export interface SettlementSection {
    key: string;
    label: string;
    venues: SettlementVenueItem[];
}
export type PlaceOrderTab = "buy" | "sell";
export type PlaceOrderStatusTone = "warning" | "error";
export type PlaceOrderStatusPlacement = "above-action" | "below-action";
export type PlaceOrderRoutingTone = "default" | "highlighted";
export type PlaceOrderResultTone = "default" | "success";
export interface PlaceOrderOutcome {
    id: string;
    /** Canonical machine-readable label (e.g. "Yes", "No"). Use for logic
     *  checks (isYesLabel, sort keys); never display this directly. */
    label: string;
    /** Descriptive human-readable text when the venue provides one (e.g.
     *  Polymarket "Trump Wins"). Display this when present, fall back to
     *  `label`. */
    title: string | null;
    price: number;
    priceLabel: string;
}
export interface PlaceOrderMetric {
    label: string;
    hint: string;
    value: number;
}
export interface PlaceOrderSlippage {
    value: string;
    label: string;
    defaultValue?: string;
    autoLabel?: string;
    minimumValue?: number;
    warningMessage?: string;
    isExpandedByDefault?: boolean;
}
export interface PlaceOrderRoutingRow {
    venue: TradingVenue;
    label: string;
    priceLabel: string;
    resultLabel?: string;
}
export interface PlaceOrderRouting {
    tone: PlaceOrderRoutingTone;
    rows: PlaceOrderRoutingRow[];
    helperLabel?: string;
    highlightLabel?: string;
    collapsedRowCount?: number;
    isExpandedByDefault?: boolean;
}
export interface PlaceOrderResult {
    label: string;
    hint: string;
    value: string;
    tone: PlaceOrderResultTone;
}
export interface PlaceOrderStatus {
    tone: PlaceOrderStatusTone;
    message: string;
    actionLabel?: string;
    placement: PlaceOrderStatusPlacement;
}
