import type { SharedApprovalRecord, SharedSessionInputRecord, SharedSessionMessage, SharedSessionRecord, SharedSessionSubmission } from '../../control-plane/index.js';
import type { RuntimeTask } from '../store/domains/tasks.js';
import type { ProviderRuntimeSnapshot, ProviderUsageSnapshot } from '../../providers/runtime-snapshot.js';
import type { TelemetryListResponse, TelemetrySnapshot } from '../telemetry/api.js';
import type { HttpTransportTelemetryMetricsSnapshot, HttpTransportTelemetryQuery } from './http-types.js';
type SdkTelemetryQuery = {
    readonly limit?: number;
    readonly since?: number;
    readonly until?: number;
    readonly domains?: string;
    readonly types?: string;
    readonly severity?: 'debug' | 'error' | 'info' | 'warn';
    readonly traceId?: string;
    readonly sessionId?: string;
    readonly turnId?: string;
    readonly agentId?: string;
    readonly taskId?: string;
    readonly cursor?: string;
    readonly view?: 'raw' | 'safe';
};
export declare function assertObjectField<T extends object>(container: unknown, field: string, endpoint: string): T;
export declare function assertObjectOrNullField<T extends object>(container: unknown, field: string, endpoint: string): T | null;
export declare function assertArrayField<T>(container: unknown, field: string, endpoint: string): readonly T[];
export declare function assertRuntimeTaskArray(tasks: unknown, endpoint: string): readonly RuntimeTask[];
export declare function assertSharedApprovalArray(approvals: unknown, endpoint: string): readonly SharedApprovalRecord[];
export declare function assertProviderRuntimeSnapshotArray(providers: unknown, endpoint: string): readonly ProviderRuntimeSnapshot[];
export declare function assertProviderRuntimeSnapshot(value: unknown, endpoint: string): ProviderRuntimeSnapshot;
export declare function assertProviderUsageSnapshot(value: unknown, endpoint: string): ProviderUsageSnapshot;
export declare function assertTelemetrySnapshot(value: unknown, endpoint: string): TelemetrySnapshot;
export declare function assertTelemetryListResponse<T>(value: unknown, endpoint: string): TelemetryListResponse<T>;
export declare function assertTelemetryMetricsSnapshot(value: unknown, endpoint: string): HttpTransportTelemetryMetricsSnapshot;
export declare function normalizeSharedSessionRecord(record: SharedSessionRecord | Record<string, unknown>): SharedSessionRecord;
export declare function normalizeSharedSessionMessage(message: SharedSessionMessage | Record<string, unknown> | null | undefined, fallbackInput?: SharedSessionInputRecord): SharedSessionMessage;
export declare function normalizeSharedSessionInput(record: SharedSessionInputRecord | Record<string, unknown>): SharedSessionInputRecord;
export declare function normalizeSharedSessionSubmission(record: Record<string, unknown>): SharedSessionSubmission;
export declare function normalizeTelemetryQueryForSdk(query: HttpTransportTelemetryQuery | undefined, defaultLimit: number): SdkTelemetryQuery;
export {};
//# sourceMappingURL=daemon-http-client-validators.d.ts.map