import { z } from 'zod';
import { type APIClient } from '../api.ts';
export declare const NamespaceInfoSchema: z.ZodObject<{
    name: z.ZodString;
    count: z.ZodNumber;
    total_size: z.ZodNumber;
    created_at: z.ZodString;
    last_used_at: z.ZodString;
    internal: z.ZodBoolean;
}, z.core.$strip>;
export type NamespaceInfo = z.infer<typeof NamespaceInfoSchema>;
export declare const StreamNamespaceEntrySchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    created_at: z.ZodNullable<z.ZodString>;
    updated_at: z.ZodNullable<z.ZodString>;
    org_id: z.ZodString;
    project_id: z.ZodNullable<z.ZodString>;
    chunks: z.ZodNumber;
    completed: z.ZodBoolean;
    size_bytes: z.ZodNumber;
    started_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    ended_at: z.ZodNullable<z.ZodString>;
    headers: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
    metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodString>>>;
    expires_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    url: z.ZodString;
}, z.core.$strip>;
export type StreamNamespaceEntry = z.infer<typeof StreamNamespaceEntrySchema>;
export interface StreamListNamespacesOptions {
    limit?: number;
    offset?: number;
}
export interface StreamGetNamespaceOptions {
    limit?: number;
    offset?: number;
}
export interface StreamNamespacesResult {
    namespaces: NamespaceInfo[];
    total: number;
}
export interface StreamNamespaceResult {
    name: string;
    entries: StreamNamespaceEntry[];
    total: number;
    totalSize: number;
}
/**
 * List stream namespaces (aggregated view).
 * Each namespace groups streams by name, showing count, total size, and timestamps.
 *
 * @param client - The API client configured for Pulse
 * @param options - Pagination options
 * @returns Aggregated namespace list with total count
 *
 * @example
 * const result = await streamListNamespaces(client, { limit: 50 });
 * console.log(`Found ${result.total} namespaces`);
 */
export declare function streamListNamespaces(client: APIClient, options?: StreamListNamespacesOptions): Promise<StreamNamespacesResult>;
/**
 * Get entries within a specific stream namespace.
 * Returns full detail for each stream entry in the namespace.
 *
 * @param client - The API client configured for Pulse
 * @param name - The namespace name
 * @param options - Pagination options
 * @returns Namespace entries with total count and size
 *
 * @example
 * const result = await streamGetNamespace(client, 'agent-logs', { limit: 100 });
 * console.log(`${result.total} entries, ${result.totalSize} bytes total`);
 */
export declare function streamGetNamespace(client: APIClient, name: string, options?: StreamGetNamespaceOptions): Promise<StreamNamespaceResult>;
//# sourceMappingURL=namespaces.d.ts.map