import { IDraggableViewModel } from './idraggable-view-model';
import { ChoiceViewModel } from './choice-view-model';
import * as Ro from '../ro-interfaces';
import * as Models from '../models';
import { ContextService } from '../context.service';
import { ColorService } from '../color.service';
import { ErrorService } from '../error.service';
import { UrlManagerService } from '../url-manager.service';
import { ConfigService } from '../config.service';
import { Pane } from '../route-data';
export declare class LinkViewModel implements IDraggableViewModel {
    protected readonly context: ContextService;
    protected readonly colorService: ColorService;
    protected readonly error: ErrorService;
    protected readonly urlManager: UrlManagerService;
    private readonly configService;
    readonly link: Models.Link;
    readonly paneId: Pane;
    constructor(context: ContextService, colorService: ColorService, error: ErrorService, urlManager: UrlManagerService, configService: ConfigService, link: Models.Link, paneId: Pane);
    readonly title: string;
    private readonly domainType;
    color: string;
    readonly value: Ro.ScalarValueType;
    readonly reference: string;
    readonly selectedChoice: ChoiceViewModel;
    readonly draggableType: string;
    readonly draggableTitle: () => string;
    readonly canDropOn: (targetType: string) => Promise<boolean>;
    readonly doClick: (right?: boolean | undefined) => void;
}
