/**
 * @license
 * Copyright 2026 Amodal Labs, Inc.
 * SPDX-License-Identifier: MIT
 */
export interface EnvVarStatus {
    name: string;
    description: string;
    set: boolean;
}
export interface PackageOauthStatus {
    /** appKey from the package's amodal.oauth — used to look up CLIENT_ID env var. */
    appKey: string;
    /** Whether the runtime has credentials configured to broker the flow. */
    available: boolean;
    reason?: 'no_metadata' | 'no_credentials';
}
export interface ConnectionPackage {
    connectionName: string;
    name: string;
    displayName: string;
    description?: string;
    icon?: string;
    envVars: EnvVarStatus[];
    isFulfilled: boolean;
    /** Present iff the package declares amodal.oauth. */
    oauth?: PackageOauthStatus;
}
export interface TemplateConnectionSlot {
    label: string;
    description?: string;
    options: string[];
    required?: boolean;
    multi?: boolean;
}
export interface TemplateManifest {
    name?: string;
    description?: string;
    connections?: TemplateConnectionSlot[];
    identity?: {
        role?: string;
        tone?: string;
        persona?: string;
    };
    knowledge?: Array<{
        id: string;
        label: string;
        description?: string;
    }>;
}
export interface ConnectionPackagesData {
    template: TemplateManifest | null;
    packages: ConnectionPackage[];
}
export interface ConnectionPackagesResult {
    data: ConnectionPackagesData | null;
    error: string | null;
    loading: boolean;
    refetch: () => void;
}
/**
 * Calls the runtime's `/api/connection-packages` endpoint, which scans the
 * agent's loaded connection packages, projects each one's amodal block
 * (displayName/description/icon/envVars/fulfilled?), and bundles the
 * optional template.json from the agent repo.
 */
export declare function useConnectionPackages(): ConnectionPackagesResult;
