import { Builder } from "@dawntech/dwntbots-models"; import { BlipBuilderFeature, BlipBuilder, ExecutionLogger } from "./Feature"; export declare const DEFAULT_SIZE: { width: number; height: number; }; export declare const OFFSCREEN: { top: string; left: string; }; export declare type CanonicalPosition = { x: number; y: number; }; export declare type CanonicalGrid = { scale: CanonicalPosition; offset: CanonicalPosition; }; export declare const isZero: (c: CanonicalPosition) => boolean; export declare const isEqual: (c1: CanonicalPosition, c2: CanonicalPosition) => boolean; export declare const unitary: (c: CanonicalPosition) => { x: number; y: number; }; export declare const negate: (c: CanonicalPosition) => { x: number; y: number; }; export declare const invert: (c: CanonicalPosition) => { x: number; y: number; }; export declare const round: (c: CanonicalPosition) => { x: number; y: number; }; export declare const scale: (c: CanonicalPosition, k: number) => { x: number; y: number; }; export declare const add: (c1: CanonicalPosition, c2: CanonicalPosition) => { x: number; y: number; }; export declare const subtract: (c1: CanonicalPosition, c2: CanonicalPosition) => { x: number; y: number; }; export declare const multiply: (c1: CanonicalPosition, c2: CanonicalPosition) => { x: number; y: number; }; export declare const divide: (c1: CanonicalPosition, c2: CanonicalPosition) => { x: number; y: number; }; export declare const clamp: (c: CanonicalPosition, min?: CanonicalPosition, max?: CanonicalPosition) => { x: number; y: number; }; export declare class PositionFeature extends BlipBuilderFeature { private align; private grid; static MINIMUN_BLOCKS_MOVE: number; static ONBOARDING_BLOCK_POSITION: Builder.BlockPosition; static WELCOME_BLOCK_POSITION: Builder.BlockPosition; static FALLBACK_BLOCK_POSITION: Builder.BlockPosition; static ERROR_BLOCK_POSITION: Builder.BlockPosition; constructor(logger: ExecutionLogger, align: boolean, scale?: number, offset?: number); static computeDisplacementPosition(anchor: Builder.BlockPosition, displacement: CanonicalPosition): Builder.BlockPosition; static toCanonicalPosition(position: Builder.BlockPosition): CanonicalPosition; static toBlockPosition(position: CanonicalPosition): Builder.BlockPosition; static pushBlockToGrid(block: Builder.Block, grid: CanonicalGrid): boolean; private moveDefaultBlocks; private performAlignment; prepare(builder: BlipBuilder): void; run(builder: BlipBuilder): void; }