export interface TokenConfig {
    accessToken: {
        expirationMs: number;
        expirationTTL: number;
    };
    refreshToken: {
        expirationMs: number;
    };
}

export interface FileAuthResult {
    isValid: boolean
    userId?: string
    resourceType?: string
    error?: string
}
export interface FileRequest {
    originalUri: string;
    realIp: string;
    method: string;
    queryParams: string;
    host: string;
    authorization: string
}
export enum FileValidationErrorType {
    INVALID_URI = 'INVALID_URI',
    RESOURCE_NOT_FOUND = 'RESOURCE_NOT_FOUND',
    AUTHORIZATION_REQUIRED = 'AUTHORIZATION_REQUIRED',
    INVALID_TOKEN = 'INVALID_TOKEN',
    UNKNOWN_ERROR = 'UNKNOWN_ERROR'
}