import type { EntityKey } from './index.js';
import type { AuthenticationType, ConnectionType, SystemType } from '../types.js';
export declare class BackendSystem {
    readonly name: string;
    readonly url: string;
    readonly client?: string;
    readonly userDisplayName?: string;
    readonly systemType: SystemType;
    readonly connectionType: ConnectionType;
    readonly authenticationType?: AuthenticationType;
    readonly hasSensitiveData?: boolean;
    readonly systemInfo?: {
        systemId: string;
        client: string;
    };
    readonly serviceKeys?: unknown;
    readonly refreshToken?: string;
    readonly username?: string;
    readonly password?: string;
    constructor({ name, url, client, systemType, serviceKeys, refreshToken, username, password, userDisplayName, authenticationType, connectionType, systemInfo }: {
        name: string;
        url: string;
        client?: string;
        systemType: SystemType;
        connectionType: ConnectionType;
        serviceKeys?: unknown;
        refreshToken?: string;
        username?: string;
        password?: string;
        userDisplayName?: string;
        authenticationType?: AuthenticationType;
        systemInfo?: {
            systemId: string;
            client: string;
        };
    });
}
export declare class BackendSystemKey implements EntityKey {
    private readonly url;
    private readonly client?;
    static from(system: BackendSystem): BackendSystemKey;
    constructor({ url, client }: {
        url: string;
        client?: string;
    });
    getId(): string;
}
//# sourceMappingURL=backend-system.d.ts.map