import type { ConnectedPosition, OriginConnectionPosition, OverlayConnectionPosition } from '@angular/cdk/overlay';
import type { WritableSignal } from '@angular/core';
type WriteOnlySignal<S extends WritableSignal<T>, T> = Pick<S, 'set' | 'update'>;
export declare function writeOnlySignal<S extends WritableSignal<T>, T>(s: S): WriteOnlySignal<S, T>;
declare enum Compass8 {
    N = "North",
    NE = "Northeast",
    E = "East",
    SE = "Southeast",
    S = "South",
    SW = "Southwest",
    W = "West",
    NW = "Northwest"
}
type Compass8Shorthand = keyof typeof Compass8;
export declare function cdkOriginPosition(direction: Compass8Shorthand): OriginConnectionPosition;
export declare function cdkOverlayPosition(direction: Compass8Shorthand): OverlayConnectionPosition;
export declare function connectedPosition(position: {
    originPoint: Compass8Shorthand;
    overlayPoint: Compass8Shorthand;
} & Omit<ConnectedPosition, `origin${'X' | 'Y'}` | `overlay${'X' | 'Y'}`>): ConnectedPosition;
export {};
