import type { NimiAppTransport } from './transport.js';
import type { AppKind, NimiAppInstallEvidenceRow, NimiAppOrdinaryVisibility, NimiAppReleaseDescriptorRow, TrustTierId } from './types.js';
export type NimiAppAdmissionStatus = 'admitted' | 'gated_by_avatar_master_gate' | 'pending_wave_4' | 'deferred' | 'retired';
export interface NimiAppRegistrySourceRow {
    readonly appId: string;
    readonly appKind: AppKind;
    readonly displayName: string;
    readonly publisher: string;
    readonly trustTier: TrustTierId;
    readonly ordinaryVisibility: NimiAppOrdinaryVisibility;
    readonly releaseDescriptorRef: string;
    readonly installStoragePolicyRef: string;
    readonly sourceRule: string;
    readonly admissionStatus: NimiAppAdmissionStatus;
    readonly installedVersion?: string;
    readonly availableVersion?: string;
    readonly detail?: string;
}
export interface NimiAppRegistryTransportOptions {
    readonly loadRows: () => Promise<readonly NimiAppRegistrySourceRow[]> | readonly NimiAppRegistrySourceRow[];
    readonly loadReleaseDescriptors: () => Promise<readonly NimiAppReleaseDescriptorRow[]> | readonly NimiAppReleaseDescriptorRow[];
    readonly loadInstallEvidence?: () => Promise<readonly NimiAppInstallEvidenceRow[]> | readonly NimiAppInstallEvidenceRow[];
}
export declare class NimiAppRegistryTransportError extends Error {
    readonly cause?: unknown | undefined;
    readonly code: 'invalid-dependency' | 'missing-registry-row' | 'source-error';
    constructor(code: NimiAppRegistryTransportError['code'], message: string, cause?: unknown | undefined);
}
export declare function createNimiAppRegistryTransport(options: NimiAppRegistryTransportOptions): NimiAppTransport;
//# sourceMappingURL=registry-transport.d.ts.map