/*!
 * Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */
type EdgeState = {
    isAtContainerBlockEnd: null;
    isAtContainerBlockStart: null;
    isAtContainerInlineEnd: null;
    isAtContainerInlineStart: null;
} | {
    isAtContainerBlockEnd: boolean;
    isAtContainerBlockStart: boolean;
    isAtContainerInlineEnd: boolean;
    isAtContainerInlineStart: boolean;
};
/**
 * Determines if an element is at the edge of its container.
 *
 * If `element` is `null`, all returned edge state values will be `null`.
 */
export declare function useElementAtContainerEdge({ containerElement, element, monitoringElement, }: {
    /**
     * The container element against which the edges are checked. If not provided, it defaults to the document body.
     */
    containerElement?: HTMLElement | null;
    /**
     * The element whose edges you want to track.
     */
    element?: HTMLElement | null;
    /**
     * The element whose mutations you want to track. If not provided, it defaults to the parent element of the `element`.
     */
    monitoringElement?: HTMLElement | null;
}): EdgeState;
export {};
//# sourceMappingURL=useElementAtContainerEdge.d.ts.map