import type { ResourceRef } from "@stigmer/sdk";
/**
 * Resource types that can be created or edited via a draft session.
 *
 * Each type maps to a Stigmer system agent that guides the user
 * through the creation/editing flow in a conversational session.
 */
export type DraftResourceType = "agent" | "skill" | "mcp-server";
/**
 * Parsed draft session parameters.
 *
 * When `editRef` is present, the session is an edit session (modify an
 * existing resource). When absent, it's a create session (new resource).
 */
export interface DraftParams {
    /** The kind of resource this draft session will create or edit. */
    readonly draftType: DraftResourceType;
    /**
     * When present, identifies the existing resource to edit.
     * Absent for create-mode sessions.
     */
    readonly editRef?: {
        /** Organization that owns the resource. */
        readonly org: string;
        /** URL-friendly identifier of the resource. */
        readonly slug: string;
    };
}
/**
 * System agents responsible for creating each resource type.
 *
 * Keys match {@link DraftResourceType}; values are {@link ResourceRef}
 * objects pointing to Stigmer's built-in creator agents.
 */
export declare const CREATOR_AGENTS: Record<DraftResourceType, ResourceRef>;
/**
 * Validate a string as a recognized {@link DraftResourceType}.
 *
 * Returns the validated type or `null` if unrecognized.
 */
export declare function parseDraftType(value: string | null): DraftResourceType | null;
/**
 * Parse draft session parameters from standard `URLSearchParams`.
 *
 * Returns `null` when no valid `draft` param is present. When `editOrg`
 * and `editSlug` are both present, the returned object includes an
 * `editRef` indicating this is an edit session rather than a create session.
 *
 * Works identically with Next.js `useSearchParams()` or react-router's
 * `useSearchParams()` — both return standard `URLSearchParams`.
 */
export declare function parseDraftParams(searchParams: URLSearchParams): DraftParams | null;
//# sourceMappingURL=draft.d.ts.map