import { CoreObjectType, ObjectContent } from '../geometry/ObjectContent';
import { WFCTileSide } from './WFCCommon';
export declare enum WFCQuadAttribute {
    QUAD_ID = "quadId",
    FLOOR_INDEX = "floorIndex",
    TILE_ID = "tileId",
    SOLVE_ALLOWED = "solveAllowed",
    SOLVED_TILE_CONFIGS = "solvedTileConfigs"
}
export declare enum WFCTileAttribute {
    TILE_ID = "WFCTileAttribute_tileId",
    ROTATION_Y_ALLOWED = "WFCTileAttribute_rotationYAllowed",
    WEIGHT = "WFCTileAttribute_weight",
    IS_ERROR_TILE = "WFCTileAttribute_isErrorTile",
    IS_UNRESOLVED_TILE = "WFCTileAttribute_isUnresolvedTile",
    SIDE_NAME_S = "WFCTileAttribute_sideNameS",
    SIDE_NAME_N = "WFCTileAttribute_sideNameN",
    SIDE_NAME_W = "WFCTileAttribute_sideNameW",
    SIDE_NAME_E = "WFCTileAttribute_sideNameE",
    SIDE_NAME_H = "WFCTileAttribute_sideNameAllHorizontalSides",
    SIDE_NAME_B = "WFCTileAttribute_sideNameB",
    SIDE_NAME_T = "WFCTileAttribute_sideNameT"
}
export declare enum WFCConnectionAttribute {
    ID0 = "WFCTileAttribute_tileId0",
    ID1 = "WFCTileAttribute_tileId1",
    SIDE0 = "WFCTileAttribute_tileSide0",
    SIDE1 = "WFCTileAttribute_tileSide1"
}
export declare class CoreWFCTileAttribute {
    static getIsTile(object: ObjectContent<CoreObjectType>): boolean;
    static setTileId(object: ObjectContent<CoreObjectType>, value: string): void;
    static getTileId(object: ObjectContent<CoreObjectType>): string;
    static setRotationYAllowed(object: ObjectContent<CoreObjectType>, value: boolean): void;
    static getRotationYAllowed(object: ObjectContent<CoreObjectType>): boolean;
    static setWeight(object: ObjectContent<CoreObjectType>, value: number): void;
    static getWeight(object: ObjectContent<CoreObjectType>): number;
    static setIsErrorTile(object: ObjectContent<CoreObjectType>, value: boolean): void;
    static getIsErrorTile(object: ObjectContent<CoreObjectType>): boolean;
    static setIsUnresolvedTile(object: ObjectContent<CoreObjectType>, value: boolean): void;
    static getIsUnresolvedTile(object: ObjectContent<CoreObjectType>): boolean;
    static getSideName(object: ObjectContent<CoreObjectType>, side: WFCTileSide): string | undefined;
    static setSideName(object: ObjectContent<CoreObjectType>, side: WFCTileSide, value: string): void;
}
export declare class CoreWFCRuleAttribute {
    static getIsConnection(object: ObjectContent<CoreObjectType>): string;
    static setId0(object: ObjectContent<CoreObjectType>, value: string): void;
    static getId0(object: ObjectContent<CoreObjectType>): string;
    static setId1(object: ObjectContent<CoreObjectType>, value: string): void;
    static getId1(object: ObjectContent<CoreObjectType>): string;
    static setSide0(object: ObjectContent<CoreObjectType>, value: string): void;
    static getSide0(object: ObjectContent<CoreObjectType>): string;
    static setSide1(object: ObjectContent<CoreObjectType>, value: string): void;
    static getSide1(object: ObjectContent<CoreObjectType>): string;
}
