import * as z from "zod/v4";
import { OpenEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import * as models from "../index.js";
export type GetSessionCostGlobals = {
    /**
     * The app identifier should be your app's URL and is used as the primary identifier for rankings.
     *
     * @remarks
     * This is used to track API usage per application.
     */
    httpReferer?: string | undefined;
    /**
     * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
     *
     * @remarks
     */
    appTitle?: string | undefined;
    /**
     * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
     *
     * @remarks
     */
    appCategories?: string | undefined;
};
/**
 * Filter by the inclusive number of turns in a session.
 */
export declare const TurnRange: {
    readonly OneMinusTurn: "1-turn";
    readonly TwoMinus9MinusTurns: "2-9-turns";
    readonly TenMinus49MinusTurns: "10-49-turns";
    readonly FiftyMinusPlusTurns: "50-plus-turns";
};
/**
 * Filter by the inclusive number of turns in a session.
 */
export type TurnRange = OpenEnum<typeof TurnRange>;
export type GetSessionCostRequest = {
    /**
     * The app identifier should be your app's URL and is used as the primary identifier for rankings.
     *
     * @remarks
     * This is used to track API usage per application.
     */
    httpReferer?: string | undefined;
    /**
     * The app display name allows you to customize how your app appears in OpenRouter's dashboard.
     *
     * @remarks
     */
    appTitle?: string | undefined;
    /**
     * Comma-separated list of app categories (e.g. "cli-agent,cloud-agent"). Used for marketplace rankings.
     *
     * @remarks
     */
    appCategories?: string | undefined;
    /**
     * Filter to one published harness slug.
     */
    appSlug?: string | undefined;
    /**
     * Exact model permaslug filter. Works across all harness apps.
     */
    model?: string | undefined;
    /**
     * Filter by the inclusive number of turns in a session.
     */
    turnRange?: TurnRange | undefined;
    /**
     * Maximum number of cells to return (1-500). Defaults to 100.
     */
    limit?: number | undefined;
    /**
     * Number of sorted cells to skip (0-5000). Defaults to 0.
     */
    offset?: number | null | undefined;
};
export type GetSessionCostResponse = {
    result: models.SessionCostResponse;
};
/** @internal */
export declare const TurnRange$outboundSchema: z.ZodType<string, TurnRange>;
/** @internal */
export type GetSessionCostRequest$Outbound = {
    "HTTP-Referer"?: string | undefined;
    appTitle?: string | undefined;
    appCategories?: string | undefined;
    app_slug?: string | undefined;
    model?: string | undefined;
    turn_range?: string | undefined;
    limit: number;
    offset: number | null;
};
/** @internal */
export declare const GetSessionCostRequest$outboundSchema: z.ZodType<GetSessionCostRequest$Outbound, GetSessionCostRequest>;
export declare function getSessionCostRequestToJSON(getSessionCostRequest: GetSessionCostRequest): string;
/** @internal */
export declare const GetSessionCostResponse$inboundSchema: z.ZodType<GetSessionCostResponse, unknown>;
export declare function getSessionCostResponseFromJSON(jsonString: string): SafeParseResult<GetSessionCostResponse, SDKValidationError>;
//# sourceMappingURL=getsessioncost.d.ts.map