import type { RequestContext } from '../middleware/auth';
import { type ResourceOwnerFields } from './resourceOwnership';
export interface TraceMetadata extends ResourceOwnerFields {
    id: string;
    filename: string;
    size: number;
    uploadedAt: string;
    status: string;
    path?: string;
    port?: number;
    externalRpc?: boolean;
    expiresAt?: number;
}
export declare const ENTERPRISE_DATA_DIR_ENV = "SMARTPERFETTO_DATA_DIR";
export declare function getUploadRoot(): string;
export declare function resolveEnterpriseDataRoot(env?: NodeJS.ProcessEnv): string;
export declare function getTracesDir(): string;
export declare function getEnterpriseTracesDirForContext(context: RequestContext, env?: NodeJS.ProcessEnv): string;
export declare function getWritableTraceDirForContext(context: RequestContext): string;
export declare function isSafeTraceId(traceId: string): boolean;
export declare function getTraceMetadataPath(traceId: string): string | null;
export declare function getTraceFilePath(traceId: string): string | null;
export declare function writeTraceMetadata(metadata: TraceMetadata): Promise<void>;
export declare function readTraceMetadata(traceId: string): Promise<TraceMetadata | null>;
export declare function listTraceMetadata(): Promise<TraceMetadata[]>;
export declare function listTraceMetadataForContext(context: RequestContext): Promise<TraceMetadata[]>;
export declare function deleteTraceMetadata(traceId: string): Promise<void>;
export declare function deleteTraceMetadataForContext(traceId: string, context: RequestContext): Promise<void>;
export declare function buildTraceOwnerMetadata(context: RequestContext): ResourceOwnerFields;
export declare function isTraceMetadataOwnedByContext(metadata: TraceMetadata | null | undefined, context: RequestContext): metadata is TraceMetadata;
export declare function readTraceMetadataForContext(traceId: string, context: RequestContext): Promise<TraceMetadata | null>;
//# sourceMappingURL=traceMetadataStore.d.ts.map